W codziennym rozwoju SQL Server kolumna tożsamości typu Identity jest często używana jako samorosnący numer struktury tabeli. Na przykład numer artykułu, numer seryjny rekordu itd. Odwołania do samorosnących zidentyfikowanych kolumn znacznie ułatwiają rozwój programów bazodanowych, ale czasem ten uparty typ pola może również powodować pewne problemy.
1. Zmodyfikuj wartości pól w kolumnie identyfikacyjnej:
Czasami, aby zaimplementować funkcję, konieczne jest zmodyfikowanie wartości pola typu Identity self-growing, ale ta operacja nie jest domyślnie dozwolona ze względu na typ kolumny tożsamości. Na przykład, jeśli do bazy danych dodano normalnie 5 fragmentów, a 2 zostały usunięte w tym momencie, to jeśli dane zostaną dodane ponownie, kolumna identyfikacyjna samorosnąca automatycznie otrzyma wartość 6, ale jeśli chcesz przypisać wartość 3 podczas wstawiania danych, domyślnie to nie jest dozwolone. Jeśli chcesz zmienić wartość tego pola, możesz całkowicie kontrolować wstawianie wartości pola identyfikacyjnego, są jeszcze metody, haha.
USTAW IDENTITY_INSERT /[STÓŁ/] [WŁĄCZONY| WYŁĄCZONE] Korzystając z powyższego stwierdzenia, możesz łatwo kontrolować, czy kolumna samorosnącego identyfikatora w tabeli będzie automatycznie rosła, czyli czy możesz ręcznie określić wartość pola kolumny identyfikatora podczas wstawiania rekordu. Jeśli określono jako włączone, możesz określić wartość pola identyfikującej kolumny podczas wstawiania, co nie powoduje automatycznego wzrostu przypisanej wartości. Oczywiście, jeśli go zużyjesz, musisz użyć tego polecenia, aby wyłączyć przełącznik do domyślnego stanu, w przeciwnym razie pole nie zwiększy automatycznie przypisanej wartości przy następnym wstawieniu danych.
2. Zresetuj wartość pola kolumny identyfikacyjnej:
Gdy część rekordu danych zostanie usunięta, a nowy rekord dodany później, wartość kolumny identyfikacyjnej będzie miała długi okres bezczynności, co wygląda bardzo nieprzyjemnie. Nawet jeśli usuniesz wszystkie rekordy w tabeli, wartość kolumny tożsamości będzie nadal rosła automatycznie i nieustannie rosła, zamiast rosnąć od zera. Wartość nasion samorosnącego pola można zresetować, używając następującego stwierdzenia:
DBCC CHECKIDENT(TABLE, [RESEED| NORESEED], [1]) Powyższe sformułowanie wymusi reset wartości seed określonej tabeli do 1. Jeśli jednak nie chcesz resetować seeda do 1, możesz zastąpić trzeci parametr wartością seeda, którą chcesz użyć. Jeśli chcesz znać aktualne seedy, zamiast resetować zidentyfikowane seed, musisz użyć NORESEED zamiast ustawiać trzeci parametr. |