Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 12402|Odpověď: 3

[Zdroj] Aktualizovat způsob provozu sloupce samorostoucího ID v databázi SQL Server

[Kopírovat odkaz]
Zveřejněno 23.08.2018 12:20:44 | | | |
Při každodenním vývoji SQL Serveru se sloupec identity typu Identity často používá jako samozvyšující se číslo struktury tabulky. Například číslo článku, sériové číslo záznamu atd. Odkazy na samorostoucí identifikované sloupce výrazně usnadňují vývoj databázových programů, ale někdy může tento tvrdohlavý typ pole také způsobovat určité potíže.

1. Upravte hodnoty polí v identifikačním sloupci:

Někdy je pro implementaci funkce nutné upravit hodnotu pole typu Identity self-growing, ale tato operace není ve výchozím nastavení povolena kvůli typu sloupce identity. Například pokud je v databázi normálně přidáno 5 dat, a 2 jsou v tuto chvíli smazány, pak pokud jsou data znovu přidána, samorostoucí identifikační sloupec bude automaticky přiřazen s hodnotou 6, ale pokud chcete při vkládání dat přiřadit hodnotu 3, není to ve výchozím nastavení povoleno. Pokud chcete změnit hodnotu tohoto pole, můžete úplně kontrolovat vkládání hodnoty identifikačního pole, stále existují metody, haha.

NASTAVTE IDENTITY_INSERT /[TABLE/] [ZAPNUTO| VYPNUTO]
Pomocí výše uvedeného tvrzení můžete snadno ovlivnit, zda se sloupec samorozrůstajícího identifikátoru v tabulce automaticky poroste, tedy zda je dovoleno ručně zadat hodnotu pole sloupce identifikátoru při vkládání záznamu. Pokud je nastaveno jako zapnuto, můžete při vkládání zadat hodnotu identifikačního sloupce, což automaticky nezvyšuje přiřazenou hodnotu. Samozřejmě, pokud ho spotřebujete, musíte použít tento příkaz k vypnutí přepínače na výchozí stav, jinak pole automaticky nezvýší přiřazenou hodnotu při dalším vložení dat.

2. Resetovat hodnotu pole identifikačního sloupce:

Když je část datového záznamu smazána a nový záznam přidán později, hodnota identifikačního sloupce bude mít dlouhý interval nečinnosti, což vypadá velmi nepříjemně. I když smažete všechny záznamy v tabulce, hodnota sloupce identity bude nadále automaticky růst a neustále rostout, místo aby rostla od nuly. Hodnotu semene samorostoucího pole lze resetovat pomocí následujícího příkazu:

DBCC CHECKIDENT(TABLE, [RESEED| NORESEED], [1])
Výše uvedené tvrzení vynutí resetovat počáteční hodnotu zadané tabulky na 1. Pokud ale nechcete resetovat seed na 1, můžete třetí parametr nahradit hodnotou seedu, kterou chcete použít. Pokud chcete znát aktuální seed místo resetování identifikovaného seedu, musíte použít NORESEED místo nastavení třetího parametru.




Předchozí:SQL Server 2012 automaticky rostou sloupce s problémy s přeskokem hodnoty
Další:Windows nedokáže spustit službu Redis, chyba 1067: Proces se neočekávaně ukončí.
 Pronajímatel| Zveřejněno 23.08.2018 12:57:08 |
1. Když jsou všechna data v tabulce smazána, automaticky se zvýší na nulu. ( zkrácenje tabulky TableName )

2. Nesmažte data tabulky, přímo resetujte hodnotu automatického růstu. (DBCC CHECKIDENT('TableName', RESEED, 0)
 Pronajímatel| Zveřejněno 23.08.2018 13:01:32 |
 Pronajímatel| Zveřejněno 13.02.2019 9:59:15 |
Zobrazit aktuální hodnoty samopřirůstajících sloupců v tabulce:
    DBCC CHECKIDENT (TableName)

Upravte aktuální hodnotu samopřirůstajícího sloupce v tabulce:
    DBCC CHECKIDENT (TableName, RESEED, value)
    RESEED není název sloupce, je napsán pevně daným způsobem.


Například pokud chci změnit aktuální hodnotu samopřirůstajícího sloupce v tabulce Dělení na 30, mohu použít následující příkaz
DBCC CHECKIDENT (Divize, RESEED, 30)
Pak použijte
DBCC CHECKIDENT (divize)
Vidíte, že aktuální hodnota je 30
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com