(SQL)是否可以使用上一行中字段的值更新字段值?

时间:2010-01-30 23:22:11

标签: mysql sql sql-update

我有一张表,我想从中更新某一列字段的值。

基本上将一个值向下移动,其下的值应该继承前一个值。

我想知道使用单个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,并使其下的字段向上移动,继承上述字段中的值。

这可能只有一个查询,或者我应该为此编写一个脚本吗?

提前致谢。

沃尔弗特

1 个答案:

答案 0 :(得分:1)

使用自动增量可能有助于将来使用。

至于目前的问题,我怀疑这可以用单一查询,因为你无法查询你想要更新的表。