2011-04-21 54 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

相关问题