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

发布于 2024-08-19 13:41:55 字数 1022 浏览 5 评论 0原文

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

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

我想知道是否可以使用单个 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,并使其下的字段继承该值向上移动从上面的字段。

这是否可以通过单个查询来实现,或者我应该为此编写一个脚本?

提前致谢。

沃尔夫特

I have a table from which I would like the update the value of a certain colum of fields.

Basicly moving one value down and those under it should inherit the previous value of the one about them.

I wonder if this action is possible using a single SQL query.

My table:

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`)
)  

The content in it:

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')

I would like to move slot_index 5 to 9, and make the fields under it move up inheriting the value from the field above.

Is this possible with a single query at all, or should I just write a script for this?

Thanks in advance.

Wolfert

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Hello爱情风 2024-08-26 13:41:55

也许使用自动增量会对将来的使用有所帮助。

至于当前的查询,我怀疑这是否可以与单个查询一起使用,因为您无法查询要更新的表。

Maybe using auto increment will help for future uses.

As for the current one I doubt that this can go with single query, because you cant query the table you are trying to update.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文