Hej
Jak ustawic klucz podstawowy tabeli o właściwości IDENTITY (AUTO-INCREMENT) na 1- podczas kasowania danych z tabeli i wczytaniu nowych, ID posiada nie 1 a kolejna wartosc dla bazy MSSQL 2005
Hej
Jak ustawic klucz podstawowy tabeli o właściwości IDENTITY (AUTO-INCREMENT) na 1- podczas kasowania danych z tabeli i wczytaniu nowych, ID posiada nie 1 a kolejna wartosc dla bazy MSSQL 2005
Zamiast poleceniem:
delete * from Tabela
usuwaj dane poprzez:
truncate table Tabela
A czemu w ogole ustawiac klucz autonumerowany?
Marcin - mylisz się TRUNCATE TABLE nie ustawia IDENTITY na wartość 1 i nie działa przy relacjach- gdy powiązane ze sobą co najmniej 2 tabele
johny_bravo - a po to że jest wygodnie
W każdym razie znalazłem to czego szukałem :
SET IDENTITY_INSERT MojaTabela ON
INSERT INTO MK_MojaTabela (IDmain) VALUES (1)
SET IDENTITY_INSERT MojaTabela OFF
rolo9 napisał(a)
Marcin - mylisz się TRUNCATE TABLE nie ustawia IDENTITY na wartość 1
Tu akurat nie masz racji, truncate ustawia Identity na 1 (sprawdzone na MS SQL 2005).
rolo9 napisał(a)
i nie działa przy relacjach- gdy powiązane ze sobą co najmniej 2 tabele
Zgadza się.
rolo9 napisał(a)
SET IDENTITY_INSERT MojaTabela ON
INSERT INTO MK_MojaTabela (IDmain) VALUES (1)
SET IDENTITY_INSERT MojaTabela OFF
To rozwiązanie też nie do końca zadziała. Jeżeli miałeś w tabeli 100 rekordów, usunąłeś wszystkie i powyższym sposobem wstawiłeś 50 rekordów, to co prawda mają one ID od 1 do 50 ale następny rekord wstawiony bez użycia IDENTITY_INSERT będzie miał ID 101.
Tu akurat nie masz racji, truncate ustawia Identity na 1 (sprawdzone na MS SQL 2005).
tak, tak zgadza się, z rozmachu napisałem, a chodziło mi o relacje na tabelach.
Przetestowałem ten przykład i lipa, normalnie jakaś rzeź, czyżby nie można było tego zrobić, poszukiwania trwają ...
Po usunięciu danych za pomocą polecenia DELETE, wykonaj:
DBCC CHECKIDENT ('nazwa_tabeli', RESEED, 0)
kurcze działa, WIELKIE DZIĘKUJĘ ZA POMOC [browar]
Czytam, czytam i nie wiem, gdzie tu wygoda ;) Wygodnie to jest zostawic numeracje serwerowi...