SQL-оператор для автоматического восстановления поля автоинкремента от начала до конца - PullRequest
0 голосов
/ 12 августа 2011

У меня есть одна таблица MYSQL.

В этой таблице есть одно имя столбца, SRNO является его первичным ключом и также автоматически увеличивается.

В этой таблице около 25000 записей, но некоторые записи между таблицами удалены.

Например, запись № 10 удалена и т. Д.

Я хочу, чтобы сценарий SQL запускал mysql для восстановления всех полей с автоинкрементом, чтобы он начинался с 1 и заканчивался на последней записи, чтобы избежать пропущенных записей.

Спасибо

1 Ответ

0 голосов
/ 12 августа 2011

Это обычно не считается хорошей идеей, так как вы можете серьезно испортить ссылочную целостность таким образом.Если это эстетика, я бы рекомендовал оставить все как есть.При этом, вот что вы делаете:

  • создайте новую таблицу с той же схемой, что и старая, и установите свое автоинкремент равным 1.
  • вставьте все записи изстарая таблица в новую, за исключением столбца автоинкремента.
  • переименование исходной таблицы во что-то другое
  • переименование новой таблицы в исходное имя

это будет эффективно "повторно заполнять" ваш стол.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...