2017-07-25 41 views
0

我想更新具有名爲date_start的時間戳數據類型的行。這裏有一個例子:MySQL - 更新行的日期並節省時間

date_start = 2017-04-26 12:34:11  

我想更新它,但爲了節省時間,所以它會是這樣的:

date_start = 2017-05-28 12:34:11 

任何想法?到目前爲止,我嘗試了提取方法和concat方法。

問候..

+0

問題是你不知道如何使用'UPDATE'查詢或什麼?您試圖使用提取和concat方法的陳述完全沒有任何意義。 – Mjh

+0

我知道如何使用'UPDATE'查詢,但我不知道如何僅在時間戳字段中更新日期。 –

+0

[MySQL DATETIME - 僅更改日期]的可能重複(https://stackoverflow.com/questions/4695117/mysql-datetime-change-only-the-date) – Malik

回答

0

如果你只是想更新時間戳的日期部分,同時保留時間組件,那麼你可以建立使用字符串連接更新的時間戳和TIME()

UPDATE yourTable 
SET date_start = CONCAT('2017-05-28 ', TIME(date_start)) 
WHERE <some condition> 

Demo

+0

你好。謝謝回覆。這一個將date_start字段轉換爲0000-00-00 00:00:00。 –

+0

不,這不應該發生。你運行了我的_exact_查詢嗎? –

+0

是的。這裏是查詢: '更新運動 SET date_start = CONCAT('2017-07-25',TIME(date_start)) WHERE id = 918' –