Как я могу исправить это Identity int на моей таблице БД? - PullRequest
0 голосов
/ 31 мая 2009

Неделю назад некоторые данные были импортированы в таблицу базы данных. Простой стол:

Id INT PK NOT NULL IDENTITY Имя VARCHAR (20)

Итак, сегодня я заметил, что первый идентификатор начинается с 0. Спросив ребенка, он перезаряжал его во время тестирования. Итак, первая запись была нулевой. Был несчастный случай.

Я не уверен, как лучше всего обновить значение. Как я могу подтолкнуть все на один номер? Что меня беспокоит, так это то, что есть некоторые зависимости от FK. Если у меня есть Cascade Update, должно ли это исправить зависимости?

Кроме того, я должен обновить каждый номер (как я это делаю ??) сверху вниз ... например. с наибольшего числа, то +1. Тогда иди вниз.

1 Ответ

4 голосов
/ 31 мая 2009

Прежде всего, почему вы подчеркиваете? ID = 0 является действительным, если немного необычным. (Обратите внимание, что ноль НЕ NULL)

Если вы действительно хотите избавиться от 0:

  • добавить фиктивную запись,
  • обратите внимание, это ID,
  • Если есть внешние ключи, указывающие на запись 0, обновите их до фиктивной записи.
  • удалить эту запись. (для продвижения внутреннего счетчика идентификаторов).
  • Просто измените ID 0 на это значение.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...