In der täglichen Entwicklung von SQL Servern wird die Identitätsspalte des Identitätstyps oft als selbstwachsende Zahl einer Tabellenstruktur verwendet. Zum Beispiel Artikelnummer, Seriennummer des Datensatzes usw. Verweise auf sich selbst wachsende identifizierte Spalten erleichtern die Entwicklung von Datenbankprogrammen erheblich, aber manchmal kann auch dieser hartnäckige Feldtyp Probleme verursachen.
1. Verändern Sie die Feldwerte der Identifikationsspalte:
Manchmal ist es notwendig, um eine Funktion zu implementieren, den Wert eines Feldes des Typs Identität selbstwachsend zu ändern, aber diese Operation ist aufgrund der Art der Identitätsspalte standardmäßig nicht erlaubt. Wenn zum Beispiel 5 Datenstücke normal in der Datenbank hinzugefügt werden und 2 zu diesem Zeitpunkt gelöscht werden, wird bei erneutem Hinzufügen der Identifikationsspalte für die selbstwachsende Identifikation automatisch der Wert 6 zugewiesen, aber wenn Sie beim Einfügen der Daten einen Wert 3 vergeben möchten, ist dies standardmäßig nicht erlaubt. Wenn du den Wert dieses Feldes ändern willst, kannst du die Einfügung des Identifikationsfeldes komplett kontrollieren, es gibt immer noch Methoden, haha.
SETZE IDENTITY_INSERT /[TISCH/] [AN| [OFF] Mit der obigen Anweisung können Sie leicht steuern, ob eine sich selbst wachsende Kennungsspalte in einer Tabelle automatisch wächst, also ob Sie beim Einfügen eines Datensatzes manuell den Wert des Identifikator-Spaltenfeldes angeben dürfen. Wenn als auf angegeben ist, können Sie beim Einfügen den Wert des identifizierenden Spaltenfeldes angeben, was den zugewiesenen Wert nicht automatisch vergrößert. Natürlich musst du, wenn du es verbrauchst, diese Anweisung verwenden, um den Schalter in den Standardzustand auszuschalten, sonst erhöht das Feld den zugewiesenen Wert beim nächsten Mal nicht automatisch.
2. Setzen Sie den Feldwert der Identifikationsspalte zurück:
Wenn ein Teil des Datensatzes gelöscht und der neue Datensatz später hinzugefügt wird, hat der Wert der Identifikationsspalte ein großes Leerlaufintervall, was sehr unangenehm wirkt. Selbst wenn Sie alle Datensätze in der Tabelle löschen, steigt der Wert der Identitätsspalte automatisch weiter und steigt endlos an, anstatt von Grund auf neu zu wachsen. Der Saatwert des selbstwachsenden Feldes kann mit folgender Aussage zurückgesetzt werden:
DBCC CHECKIDENT(TABELLE, [RESEED| NORESEED], [1]) Die obige Anweisung erfordert, dass der Startwert der angegebenen Tabelle auf 1 zurückgesetzt wird. Wenn du den Seed jedoch nicht auf 1 zurücksetzen möchtest, kannst du den dritten Parameter durch den gewünschten Seed-Wert ersetzen. Wenn du den aktuellen Seed wissen willst, anstatt den identifizierten Seed zurückzusetzen, musst du NORESEED verwenden, anstatt den dritten Parameter zu setzen. |