2009-08-14 16 views
38

Mam tabeli Orders z następujących dziedzin:Ustaw wartość początkową dla kolumny z autoincrement

Id | SubTotal | Tax | Shipping | DateCreated

Kolumna Id jest ustawiony na autoincrement(1,1).

Jest to używane w sklepie e-commerce. Czasami aktualny sklep e-commerce jest migrowany do mojej platformy i mają już zamówienia - co może oznaczać, że ich obecny numer Order.Id to na przykład 9586.

Chcę, aby pole autoincrement zaczynało się od tej wartości.

Jak mogę to zrobić?

Odpowiedz

70

Od Resetting SQL Server Identity Columns:

Odzyskiwanie tożsamości dla tabeli Employees:

DBCC checkident ('Employees') 

Naprawa nasienie tożsamości (jeśli z jakiegoś powodu baza danych jest wstawienie zduplikowanych tożsamości):

DBCC checkident ('Employees', reseed) 

Zmiana nasienie tożsamości na stole Employees do 1000:

DBCC checkident ('Employees', reseed, 1000) 

Kolejny wstawiony wiersz rozpocznie się od 1001.

21

Musisz ustawić ziarno tożsamość tej wartości:

CREATE TABLE orders 
(
id int IDENTITY(9586,1) 
) 

aby zmienić aktualną tabelę:

ALTER TABLE orders ALTER COLUMN Id IDENTITY (9586, 1); 

Więcej informacji na temat CREATE TABLE (Transact-SQL) IDENTITY (Property)

+3

Polecenie ALTER TABLE powyżej nie działa na mnie w Microsoft SQL Server 2012. Daje to błąd: „Niepoprawna składnia w pobliżu słowo kluczowe«tożsamość»” Polecenie DBCC w zaakceptowanej odpowiedzi działało jednak poprawnie. –

9

Należy również zauważyć, że nie można normalnie ustawić wartości dla kolumny IDENTITY. Można jednak określić tożsamość wierszy, jeśli dla tabeli ustawiono IDENTITY_INSERT na WŁ. Na przykład:

SET IDENTITY_INSERT Orders ON 

-- do inserts here 

SET IDENTITY_INSERT Orders OFF 

Ta wkładka zresetuje tożsamość do ostatnio wstawionej wartości. Od MSDN:

If the value inserted is larger than the current identity value for the table, SQL Server automatically uses the new inserted value as the current identity value.

+0

Właśnie to, nad czym byłem - było przydatne do zapełniania bazy danych, którą migałem z mysql php do aplikacji C# MVC – pigeon

Powiązane problemy