gpt4 book ai didi

mysql - SQL 在查询中引用当前记录 ("this")

转载 作者:行者123 更新时间:2023-11-29 02:07:01 26 4
gpt4 key购买 nike

我有一个像这样的表:

id | NODE_ID | last_updated
1 | 4 | 11-29-2010 ...

其中 last_updated 列设置为在使用“on update CURRENT_TIMESTAMP”对行进行任何更改后进行更新

我需要更新 NODE_ID 为 4 到 5 的所有记录,但我想保持时间戳不变。

我正在考虑进行更新并引用查询中当前选定的行以手动设置时间戳...令人困惑...像这样

更新作业集 NODE_ID=4, last_updated = this.last_updated where NODE_ID = 5;

我可以用什么来替换查询中的“this”?如果我做不到,那么做这种事情的最佳方法是什么?

~肖恩

附言。 mysql Ver 14.12 Distrib 5.0.86,用于使用 readline 5.1 的 redhat-linux-gnu (i686)

最佳答案

应该这样做:

update jobs set NODE_ID=4, last_updated = last_updated where NODE_ID = 5;

预计到达时间:最初我认为这行不通,因为我认为 on update 约束会在您设置值、删除您的“更改”(或缺少更改)后执行。但是this让我相信事实并非如此。

关于mysql - SQL 在查询中引用当前记录 ("this"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4219294/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com