Ten przewodnik nauczy Cię, jak zresetować kolumnę tożsamości na SQL Server, umożliwiając zresetowanie błędnych skonfigurowanych wartości w kolumnie tożsamości.
Tożsamość SQL Server
Aby dodać kolumnę tożsamości do tabeli w SQL Server, użyj zapytania tożsamości. Składnia zapytania tożsamości na SQL Server jest jak pokazano:
Tożsamość (seded_value, increment_interval);Zapytanie tożsamości przyjmuje dwa argumenty:
Domyślnie wartości nasion i przyrostu są ustawione na 1. Stąd pierwszy rekord w tabeli ma wartość 1, a każdy rekord dodany do tabeli, dodany przez 1.
Zresetuj kolumnę tożsamości na serwerze SQL
Nauczmy się teraz, jak zresetować kolumnę tożsamości na serwerze SQL i dlaczego być może będziesz musiał to zrobić.
Zacznij od utworzenia przykładowej tabeli i wstawienie danych, jak pokazano w poniższych zapytaniach:
Utwórz zapasy tabeli (Możemy teraz zapytać o dane przechowywane w tabeli jako:
Wybierz * z zapasów;Powstałe rekordy są jak pokazano:
Zwróć uwagę na kolumnę identyfikacyjną; Chociaż nie określiliśmy wartości w naszym instrukcji Insert, funkcja tożsamości automatyczna generuje wartość od 1 i wciąż rośnie o 1 dla każdego wkładanego rekordu.
Po co resetować kolumnę tożsamości?
Możesz zapytać, czy kolumna tożsamości zawiera automatyczne wygenerowane wartości w określonej kolejności logicznej, dlaczego muszę zresetować kolumnę tożsamości?
Spójrz, co stanie się z danymi, gdy usuniemy rekord z tabeli:
Usuń z zapasów, gdzie ilość = 7;Powyższe przykładowe zapytanie powinno usunąć jeden rekord, gdzie ilość jest równa 7.
Tabela zawiera teraz rekordy jako:
Wybierz * z zapasów;W kolumnach ID mamy wartości od 1 do 6. Jednak brakuje identyfikatora 4. Dzieje się tak, gdy upuszczamy rekord ze stołu.
Aby to naprawić, musimy zresetować kolumnę tożsamości.
Jak zresetować kolumnę tożsamości
Aby zresetować kolumnę tożsamości na SQL Server, używamy procedury kontroli DBCC.
Składnia procedury jest:
DBCC CheckIdent („TABLE_NAME”, RESEEED, NEW_VALUE);Jeśli jednak zresetujemy kolumnę tożsamości i spróbujemy wstawić dane, SQL Server zwraca błąd. Aby to rozwiązać:
Przykładowe zapytanie wdrażające powyższe kroki jest takie jak pokazano:
Wybierz * do new_inventory z Inwentaryzacji;Po pomyślnym wykonywaniu zapytań możemy sprawdzić dane w tabeli zapasów jako:
Wybierz * z zapasów;Powstałe rekordy tabeli są takie jak pokazano:
Tutaj kolumna identyfikatora jest we właściwej kolejności.
Zamknięcie
Ten przewodnik obejmuje podstawy funkcji tożsamości w SQL Server i sposób zresetowania kolumny tożsamości w przypadku błędów.