У меня есть таблица с различными столбцами, один из которых priority
, то есть INT
. Поле priority
всегда представляет собой последовательность из 1...n
, указывающую приоритет / порядок данных. Считайте, что это всегда правильно.
Теперь в моем приложении есть функция, которая удаляет строку в этой таблице. Следовательно, мне нужно было бы найти элегантный способ переделать столбец приоритета после удаления записи. Какой самый элегантный способ сделать это прямо в Mysql? Я хочу попробовать и не делать это программно через свое приложение (PHP). Пример перед удалением:
ID priority bar
1 1 66
43 2 66
54 3 66
4 4 66
Таблица после удаления
ID priority bar
1 1 66
54 3 66
4 4 66
должна быть обновлена до
ID priority bar
1 1 66
54 2 66
4 3 66
Большое спасибо за ваши идеи!
Изменить: По многочисленным просьбам:
CREATE TABLE `foo`
(`id` INT NOT NULL, `priority` INT NOT NULL , `bar` INT NOT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;
INSERT INTO foo VALUES (1, 1, 66), (43, 2, 66), (54, 3, 66), (4, 4, 66);