Как сбросить начальное значение идентификатора приращения в SQL Server

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

19.08.2008 21:14:32
3 ОТВЕТА
РЕШЕНИЕ
DBCC CHECKIDENT('TableName', RESEED, 0)
107
19.08.2008 21:18:08

Чтобы установить идентичность на 100:

DBCC CHECKIDENT (MyTable, RESEED, 100)
14
16.04.2015 07:50:15
Это будет означать, что следующим тождеством является 101, кстати, и поэтому «0» для сброса следующего вставленного в «1».
Kieren Johnstone 9.07.2010 07:53:49
@Kieren Johnstone - да, он продолжит нумерацию со 100, как если бы только что была добавлена ​​запись 100, и следующим будет 101.
Keith 9.07.2010 11:55:42

Просто предупреждающее слово с:

DBCC CHECKIDENT (MyTable, RESEED, 0)

Если вы не обрезали таблицу, а в столбце идентификаторов указан PK, вы получите ошибку при достижении ранее существовавших идентификаторов.

Например, у вас уже есть имена (3,4,5) в таблице. Затем вы сбрасываете столбец идентификаторов в 1. После вставки идентификатора 2 при следующей вставке будет пытаться использовать идентификатор 3, что приведет к ошибке.

32
19.08.2008 21:40:01
Я не знаю, на что здесь ссылается усечение, но в случае сомнений select max(customerid) from customers
Simon_Weaver 11.12.2017 10:28:56