我想更新当前时间与同一表中记录之间的时差的列。
实际上,此表格To
列应为NOW()
,而Diffs
应为From
与To
之间的差异:
| ID | Froms | To | Diffs |
+----+------------------+----------+------------+
| 1 | 15:15:59.00000 | NULL | NULL |
+----+------------------+----------+------------+
当我尝试这个查询时,我遇到了一堆错误:
UPDATE dailyHours
SET Diffs = (SELECT TIMEDIFF(TIME(NOW()), (SELECT Froms FROM dailyHours WHERE To is NULL)))
WHERE To IS NULL
答案 0 :(得分:1)
为什么使用子查询?
如果这是你想要的逻辑,那么:
update dailyHours
set Diffs = timediff(time(now()), Froms)
where `to` is null;
答案 1 :(得分:0)
将NOW()
分配给变量,然后使用变量
time
update_time=now()
现在更新如下:
UPDATE dailyHours SET Diffs = timed(update_time,Forms) WHERE `To` is NULL;
我希望能帮助你。