(SQL) Можно ли обновить значение поля значением поля в предыдущей строке? - PullRequest
1 голос
/ 31 января 2010

У меня есть таблица, из которой я хотел бы обновить значение определенного столбца полей.

В основном перемещение на одно значение вниз, а те, которые находятся под ним, должны наследовать предыдущее значение того, что о них.

Интересно, возможно ли это действие с использованием одного запроса SQL.

Мой стол:

CREATE TABLE `menu` (
  `slot_index` int(2) NOT NULL,
  `language_ID` int(2) NOT NULL,
  `menuItem` text NOT NULL,
  PRIMARY KEY (`slot_index`,`language_ID`),
  KEY `language_ID` (`language_ID`)
)  

Содержание в нем:

INSERT INTO `menu` (`slot_index`, `language_ID`, `menuItem`) VALUES
(1, 1, 'Home'),
(2, 1, 'Wie zijn wij'),
(21, 1, 'Missie'),
(22, 1, 'Doelen'),
(23, 1, 'Visie'),
(24, 1, 'Test'),
(3, 1, 'Wat doen wij'),
(31, 1, 'Medische kaart voor op reis'),
(32, 1, 'Huisartsenkaart'),
(33, 1, 'Huisartsenkaart anderstaligen'),
(4, 1, 'Perskamer'),
(5, 1, 'Beheer'),
(6, 1, 'FAQ'),
(7, 1, 'Ervaringen'),
(8, 1, 'Contact'),
(81, 1, 'Disclaimer'),
(9, 1, 'Links'),
(91, 1, 'Adresgegevens')

Я хотел бы переместить slot_index 5 на 9 и сделать так, чтобы поля под ним перемещались вверх, наследуя значение из поля выше.

Возможно ли это вообще с одним запросом или мне просто написать скрипт для этого?

Заранее спасибо.

Wolfert

1 Ответ

1 голос
/ 31 января 2010

Может быть, использование автоинкремента поможет в будущем.

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

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