Wiecie czemu ID_Muzyka zaczyna liczenie od 5, wcześniej gdy wpisałem 2 rekordy zaczynał liczenie od 3
Co to za baza? oznaczyłeś dwie różne. Normalnie jest tak że tam jest sekwencja (sequence
). I nawet jak usuniesz wszystko z tabeli to jeszcze musiałbyś zresetować sekwencje. No, ale takich rzeczy się zwykle nie robi więc pytanie po co ci liczenie od 1
UPDATE tu masz jak zresetować sekwencje w postgresie ALTER SEQUENCE. W innych bazach pewnie jest podobnie. Lub może nawet można to wyklikać z graficznego klienta
UPDATE 2 To jak to jest MSSQL to tu jest wersja dla MSSQLa ALTER SEQUENCE (Transact-SQL)
KamilAdam napisał(a):
No, ale takich rzeczy się zwykle nie robi więc pytanie po co ci liczenie od 1
Dokladnie.
jest wiele błędnych wzorców i oczekiwań zw z id, startem od jedynki, absolutnej ciągłosci itd....
Mozna zgadywac, który z nich dręczy @Cyprian Kamil
ZrobieDobrze napisał(a):
KamilAdam napisał(a):
No, ale takich rzeczy się zwykle nie robi więc pytanie po co ci liczenie od 1
Dokladnie.
jest wiele błędnych wzorców i oczekiwań zw z id, startem od jedynki, absolutnej ciągłosci itd....Mozna zgadywac, który z nich dręczy @Cyprian Kamil
Dzięki za pomoc
Po screenach widać, że to MSSQL.
Jeżeli masz kolumnę identity, to DELETE
na tabeli nie zmienia ostatniej wartości nadanej przez identity, dlatego dostajesz 5, bo wcześniej miałeś w tabeli wartości od 1-4.
Możesz to zmienić korzystając z dbcc checkident.
Możesz użyć też truncate table, które resetuje wartość seed
Panczo napisał(a):
Jeżeli masz kolumnę identity, to
DELETE
na tabeli nie zmienia ostatniej wartości nadanej przez identity, dlatego dostajesz 5, bo wcześniej miałeś w tabeli wartości od 1-4.
Zawinięta transakcja też robi dziury w sekwencji. Ale jakie to ma znaczenie? To tylko identyfikator. Być może równie dobrze mógłbyś użyć GUID.
Nawiasem mówiąc, INSERT w taki sposób jest trochę ryzykowny.
Piszę o tym, że masz instrukcję INSERT bez określania kolumn, samo VALUES.
Lepiej to robić tak:
INSERT INTO tabela (...lista kolumn..) VALUES (...lista wartości...)
Bez tego łatwo o pomyłkę, wystarczy, że dodasz jakąś kolumnę do tabeli, usuniesz, lub zmienisz kolejność, i taki INSERT bez kolumn spowoduje błąd i nic nie doda, albo wprowadzi wartości w zły sposób.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.