У меня есть блог с 4 оставшимися сообщениями. Идентификаторы сообщений: 0, 1, 8 и 10. Это происходит из-за того, что я удалил сообщения 2-7 и отправил 9. Есть ли какие-либо возможности «исправить» эти идентификаторы сообщений, чтобы в моей таблице базы данных они идти от 1 до 3 и смежны?CakePHP: Как сделать значения автоматического прироста смежными снова после удаления строк
0
A
ответ
1
Вы можете удалить столбец MySQL вручную, а затем повторно добавить его с теми же свойствами. Строки будут переупорядочены.
В качестве альтернативы, использовать эти команды:
SET @count = 0;
UPDATE `users` SET `users`.`id` = @count:= @count + 1;
Заменить users
и id
соответствующим образом.
Вы можете восстановить свой автомобиль приращением колонки ID также с:
ALTER TABLE `users` AUTO_INCREMENT = 1;
Где пользователи заменяется на имя вашей таблицы.
0
вы можете изменить их идентификаторы вручную, а затем установите значение в auto_increment
alter table users auto_increment 5
Вы * не *. Вы можете, но вы абсолютно не должны. Поле с AI, вероятно, является суррогатным ключом, и в этом случае их изменение нарушит вашу схему базы данных. Если ваши строки нуждаются в непрерывной нумерации, вы не должны использовать ИИ в первую очередь. – Sammitch
Я согласен, лучше полагаться на URL-адреса, основанные на slug, возможно даже с датой - как это делает Wordpress. Это также лучше для чтения/автозаполнения в браузерах и для SEO. Сам идентификатор не имеет значения (и если он непрерывный или нет). – mark