gpt4 book ai didi

MYSQL:如何更新具有相同值的多个列

转载 作者:太空宇宙 更新时间:2023-11-03 12:04:29 25 4
gpt4 key购买 nike

我有一个更新查询,它计算大量 DATETIME 记录的 TIMEDIFF:

UPDATE eventlog SET downtime = TIMEDIFF(up_stamp,down_stamp);

这可行,但我需要将此 TIMEDIFF 值设置为另一列以及 downtime。像这样的东西(不起作用):

UPDATE eventlog SET downtime, downtime_adj = TIMEDIFF(up_stamp,down_stamp);

我知道我可以像这样组合它们:

UPDATE eventlog SET downtime = TIMEDIFF(up_stamp,down_stamp), downtime_adj = TIMEDIFF(up_stamp,down_stamp);

但这将根据需要多次重新计算相同的时间差异 2 倍。最有效的方法是什么?

最佳答案

似乎可以使用用户定义的变量,因此TIMEDIFF() 不需要运行两次。

试试这个:

UPDATE eventlog SET downtime = @x := TIMEDIFF(up_stamp,down_stamp), downtime_adj = @x;

这是文档:http://dev.mysql.com/doc/refman/5.0/en/user-variables.html

免责声明:

看到你的问题,我刚好看完了。我不精通 SQL。

希望对您有所帮助 :-)

关于MYSQL:如何更新具有相同值的多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27278168/

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