Reset автоинкремент в Microsoft SQL Server 2008 R2
Я создал первичный ключ для автоинкремента.
- Я добавил две строки:
ID=1, ID=2
- Я удалил эти две строки.
- Я добавил новую строку, но новый идентификатор строки:
ID=3
Как я могу reset или перезапустить автоинкремент до 1?
Ответы
Ответ 1
Если вы используете команду DBCC CHECKIDENT
:
DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1);
Но использовать с CAUTION! - это будет reset IDENTITY
до 1 - так что ваши следующие вставки получат значения 1, затем 2, а затем 3 → , у вас будет столкновение с вашим ранее существовавшим значением 3 здесь!
IDENTITY
просто отображает номера в последовательном порядке - он НЕ, чтобы убедиться, что конфликтов нет! Если у вас уже есть значения - сделайте не возврат к более низкому значению!
Ответ 2
Я использую SQL Server 2012, а DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1)
вызывает значение 2
в самой следующей вставке.
Итак, для SQL Server 2012 измените значение 1
на 0
, чтобы получить значение 1
для следующей записи:
DBCC CHECKIDENT ("YourTableNameHere", RESEED, 0); -- value will be 1 for the next record insert