1
我有一张桌子,我希望更新某个栏位的值。(SQL)是否可以使用上一行中字段的值更新字段值?
基本上移动一个值,它下面的值应该继承关于它们的值。
我不知道这个动作是否可以使用单个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
如果您觉得需要更改主键的值,那么该字段可能不应该是主键的一部分。 – 2010-01-30 23:25:19
另外,你有没有想过如何为该排序顺序编写ORDER BY子句?你不能只使用ORDER BY slot_id。你怎么解决这个问题的?当菜单中有9个以上的项目时会发生什么? – 2010-01-30 23:30:46
我还建议你阅读这个页面在MySQL中存储heirarchical数据:http://dev.mysql.com/tech-resources/articles/hierarchical-data.html – 2010-01-30 23:32:28