Допустим есть таблица articles
с полями id,title,text
.
id
это поле с автоинкрементом, но в этом поле значения идут не по порядку, а в разброс, к примеру 0,1,5,6,20,22.
Как одним запросом упорядочить это поле id
, т.е. чтобы значения поля id
были упорядочены, (0,1,2,3,4,5...)?
P.S. в данном случае не интересуют связи с этим полем id
в других таблицах.
P.S. это нужно в учебных целях.
Кстати случайно затёр поле title
в этой же таблице.
т.е. в этом поле было название записи, теперь там стоит одинаковое число во всех записях
таблица articles
:
(запись 1: [id=0;title=2;])
(запись 2: [id=1;title=2;])
(запись 3: [id=5;title=2;])
Как одним запросом поменять поле title
, в данном случае не важно какое там будет значение, главное чтобы разное, к примеру title1,title2,title3
.
Меня интересует как можно одним запросом поменять поле id
, чтобы упорядочить его значения, и вторым запросом чтобы восстановить поле title
, это в учебных целях нужно
Проблема в том, что в БД нет понятия "идут подряд", в общем случае. попробуйте вот так
SET @i:=0;
UPDATE articles SET id = @i:=(@i+1) WHERE 1=1;
update articles set title=concat('title', CAST(id as VARCHAR(50)));
Нет такой возможности, только в два этапы.
ALTER TABLE `articles` DROP `id`;
ALTER TABLE `articles` ADD `id` INT(11) NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (`id`);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как сделать mutation чтобы был запрос в БД insert or update?
Вообщем есть такая проблема, я вывожу данную на страницу в 3 разных массивахВот так:
Создаю в папке с помощью цикла for документы с разным наполнениемЭто наполнение подтягивают из json