2014-09-18 2 views
0

ВОПРОС: Можно ли откатить максимальное значение столбца (используя IDENTITY) после удаления некоторых строк?Выдача справки IDENTITY

ПРОБЛЕМА: Значение столбца (id) не возвращается и не возвращается назад к текущему максимальному значению столбца, оно продолжает увеличиваться с последним известным максимумом.

+1

ответ: нет, вы не хотите, чтобы сбросить это значение –

+0

, что вы используете RDBS? –

+1

Возможный дубликат [Сбросить идентификационное семя после удаления записей в SQL Server] (http://stackoverflow.com/questions/21824478/reset-identity-seed-after-deleting-records-in-sql-server) – shf301

ответ

2

Я предполагаю, что вы используете SQL Server.

Поведение, которое вы описали, - это то, как колонны IDENTITY работают по дизайну. Значение для новых строк только увеличивается. Обычно это используется для обеспечения уникальности генерируемых значений. Если вы удаляете записи, это оставляет пробел в цифрах. Есть даже замечание о TechNet:

Если для таблицы с частыми удалениями существует столбец идентификации, могут возникать промежутки между значениями идентичности. Если это вызывает беспокойство, не используйте свойство IDENTITY.

Вы можете переустановку идентичности, если это необходимо, или вы можете ввести любое значение в явно столбец idenity при использовании SET IDENTITY_INSERT ON, но это не стандартное использование этих столбцов.

Смежные вопросы