У меня есть таблица SQL, в которой хранятся разные данные. И первичный ключ имеет целочисленное значение, которое увеличивается 1 вводится одна новая информация. Пока мы продолжаем добавлять его, все прекрасно. Но когда мы удаляем любое значение центра или конечное значение, это вызывает проблемы.Как автоматическое увеличение и автоматическое изменение значения столбца базы данных
например, я добавил 5 строк в таблицу. И столбец sr_num
имеет значение 5. И когда я удаляю 4-ю запись, столбец sr_num
остается следующим: 1,2,3,5.
Я хочу, чтобы это было 1,2,3,4, как только я удаляю четвертую запись, я хочу, чтобы пятый из них занял 4-ю позицию и тот же номер.
Это должно произойти со всеми.
Вы уверены, что хотите что-то подобное? Это означает, что вы должны ** вручную обновить эту таблицу **. Вручную обновите все таблицы с помощью отношения с этим (и так далее, каскадом). Кроме того, ваш индекс будет признан недействительным. Могу ли я спросить ** причину этого **? Это неправильное использование и значение первичного ключа, если вы хотите, чтобы прогрессивный индекс просто использовал 'ROW_NUMBER()' в вашем 'SELECT' ... –
Если вы удалите строку и поместите другую с тем же ключом на своем месте, что также вызовет проблемы. Теперь у вас есть две логические строки для одного и того же ключа. Ключи не следует повторно использовать после того, как они были замечены кем-то другим (пользователем). – usr
Смотрите это: http://stackoverflow.com/questions/2214141/mysql-auto-increment-after-delete?rq=1 – dursk