Witam mam mały problem otóż, gdy usuwam wszystkie dane z tabeli nie usuwają mi się dane z SID który jest moim kluczem id. W momencie, gdy miałem 22 tabel i je usunąłem i dodałem nową to pojawił się ID 23 zamiast 1. Jak to naprawić, żeby po usunięciu tabel id nowo dodanej tabeli było znowu 1?
Pytanie brzmi - po co?
ID by default nie powinno się nigdy powtarzać w bazie - nawet jeśli zostało usunięte
Jak to naprawić
Nijak, ponieważ nie jest to błąd - dzięki zachowaniu monotonicznie rosnących idków jesteś zabezpieczony np. przed potwórzeniem idka w jakichś danych poza samą bazą (logi, zewnętrzne integracje, etc.).
Burdzi0 napisał(a):
Pytanie brzmi - po co?
ID by default nie powinno się nigdy powtarzać w bazie - nawet jeśli zostało usunięte
Zgadzam się.
Dodam, nie należy się opierać na jakiś (własnych) założeniach, ze jest o jedynki, ze jest ciągłe itd.
Nawet bym nie ufał, że porównanie ID wskazuje nowszy (w dostatecznie złożonej instalacji)
Dawid Orłowski napisał(a):
... W momencie, gdy miałem 22 tabel i je usunąłem i dodałem nową to pojawił się ID 23 zamiast 1.
Jesteś pewien, ze usuwałeś tabele? A może wiersze w tabeli?
Po screenie poznaje że to SQL Server
Usunięcei deletem nie resetuje wartości seed'a, to zapewni truncate
Można jednak go zresetować//docs.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkident-transact-sql?view=sql-server-ver15