Я хотел бы иметь хороший шаблон для этого в разработке. Как сбросить начальное значение идентификатора приращения в SQL Server?





DBCC CHECKIDENT('TableName', RESEED, 0)
Чтобы установить идентификатор на 100:
DBCC CHECKIDENT (MyTable, RESEED, 100)
@Kieren Johnstone - да, он продолжит нумерацию со 100, как если бы запись 100 была только что добавлена, а следующая - 101.
Небольшое предупреждение:
DBCC CHECKIDENT (MyTable, RESEED, 0)Если вы не усекали таблицу, а столбец идентификаторов - это PK, вы получите сообщение об ошибке при достижении уже существующих идентификаторов.
Например, у вас уже есть удостоверения (3,4,5) в таблице. Затем вы сбрасываете столбец идентификатора на 1. После того, как идентификатор 2 вставлен, следующая вставка попытается использовать идентификатор 3, что не удастся.
Я не знаю, что здесь имеется в виду под усечением, но если есть сомнения, введите select max(customerid) from customers, чтобы узнать, какое наибольшее существующее значение
Это, кстати, будет означать, что следующим идентификатором будет 101 - и поэтому «0» для сброса следующего вставленного идентификатора на «1».