2017-09-24 9 views
0

我想更新當前時間與同一表中的記錄之間的時間差的列。更新當前時間與同一表中的記錄之間的時間差的列

其實在這個表列To應該NOW()DiffsFromTo之間的區別:

| 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

我建議你避免使用像'TO'這樣的保留字,可以用其他英語單詞替換,如'UNTIL' – sagi

回答

1

你爲什麼使用子查詢?

如果這是你想要的邏輯,那麼:

update dailyHours 
    set Diffs = timediff(time(now()), Froms) 
    where `to` is null; 
0

分配NOW()給一個變量,然後更新time與變量:

update_time=now() 

現在更新這樣的:

UPDATE dailyHours SET Diffs = timed(update_time,Forms) WHERE `To` is NULL; 

我希望能幫助你。

相關問題