MYSQL TIMESTAMP比较

时间:2012-12-28 12:01:26

标签: mysql timestamp

我有一个包含列Time的表,用于存储时间戳值,存储Name的列和存储Status的列。

我正在尝试查找更新所有条目的查询,如下所示:

UPDATE `Table` 
SET Status=1
WHERE Name='personname' AND 'Time'<'2012-12-23 18:00:00'

查询有效,但没有任何变化。

尝试显示WHERE部分的结果时,没有结果。

我做错了什么?

3 个答案:

答案 0 :(得分:31)

您正在比较字符串文字'Time'

'Time'<'2012-12-23 18:00:00'

尝试比较时间列:

Time < '2012-12-23 18:00:00'

或者如果必须,请用反引号括起来:

`Time` < '2012-12-23 18:00:00'

Live example at SQL Fiddle.

答案 1 :(得分:2)

如果您确定反引号和单引号仍然无效,请尝试 这个,

UPDATE `Table`SET Status=1
WHERE Name='personname' AND 
Time < STR_TO_DATE('2012-12-23 18:00:00','YYYY-MM-DD HH:MI:SS')

答案 2 :(得分:0)

尝试一下:

UPDATE `Table`SET Status=1
WHERE Name='personname' AND 
Time < UNIX_TIMESTAMP(STR_TO_DATE('23-12-2012 18:00:00',' "%d-%m-%Y %h:%i:%s'));