2011-04-21 92 views
0

嗨我有一個表有時間戳列。我想在1秒之前更新日期。我怎樣才能做到這一點?Mysql如何從列日期獲取新日期?

經驗:
名稱|日期
ibrahim | 2011-04-14 3時35分05秒
布拉布拉| 2011-04-14 03:00:00


更新後,第二行的日期應爲 「2011-04-14 2時59分59秒」 等

編輯:
答案是

UPDATE表SET 日期= DATE_SUB(日期,間隔1秒) WHERE NAME = 「布拉布拉」;

回答

2

使用DATE_SUB(date,INTERVAL expr unit)功能。

update `table` set date_date = date_date - INTERVAL 1 SECOND; 
+0

非常感謝你 – ibrahim 2011-04-21 06:35:44

+0

@ibrahim:你總是受歡迎的。 – 2011-04-21 06:40:35

1
update table set `date`= DATE_SUB(`date`,INTERVAL 1 SECOND) 

修訂

爲了把實際的列名在查詢

側面說明:您的列名date是MySQL的保留字,所以你必須把它放在反引號`否則mysql會產生語法錯誤,就像我在上面的查詢中所做的那樣。

+0

我不認爲你需要的報價。 – Raisen 2011-04-21 06:23:58

+0

@Raisen:謝謝,抓住了。更正 – 2011-04-21 06:26:08

+0

沒有工作,我得到的錯誤「ERROR 1054(42S22):在‘字段列表’未知列‘布拉布拉’」 – ibrahim 2011-04-21 06:30:38

相關問題