[英]MYSQL TIMESTAMP comparison
我有一个表,其中包含存储时间戳值的列Time
,存储Name
的列和存储Status
的列。
我正在尝试查找一个查询来更新给定时间戳之前的所有条目,如下所示:
UPDATE `Table`
SET Status=1
WHERE Name='personname' AND 'Time'<'2012-12-23 18:00:00'
查询有效但没有任何变化。
当试图显示WHERE
部分的结果时,没有结果。
我究竟做错了什么?
您正在比较字符串文字'Time'
:
'Time'<'2012-12-23 18:00:00'
尝试比较时间列:
Time < '2012-12-23 18:00:00'
或者如果必须,请用反引号将其包围:
`Time` < '2012-12-23 18:00:00'
如果你确定反引号和单引号仍然没有用,那么试试这个,
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')
试试这个:
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'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.