Сброс автоинкремента в Microsoft SQL Server 2008 R2

Я создал первичный ключ, автоинкремент.

  • я добавил две строки: ID=1, ID=2
  • Я удалил эти две строки.
  • я добавил новую строку, а ID новой строки было: ID=3

Как сбросить или перезапустить автоинкремент до 1?

2 ответов


если вы используете DBCC CHECKIDENT:

 DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1);

но используйте с осторожностью! - это просто сбросит IDENTITY до 1-таким образом, ваши следующие вставки получат значения 1, затем 2, а затем 3 --> и у вас будет столкновение с вашим ранее существующим значением 3 здесь!

IDENTITY просто блюда из чисел в последовательном порядке-это делает не в любом случае убедитесь, что нет никаких конфликтов! Если у вас уже есть значения - делать не пересаживайтесь обратно на более низкое значение!


Я использую SQL Server 2012 и DBCC CHECKIDENT ("YourTableNameHere", RESEED, 1) причины значение 2 на следующий вставкой.

Итак, для SQL Server 2012 измените 1 to 0 чтобы получить значение 1 для следующей записи вставьте:

DBCC CHECKIDENT ("YourTableNameHere", RESEED, 0);  -- value will be 1 for the next record insert