我有一个表,其中包含一个Time
存储时间戳值的列、一个存储 aName
的列和一个存储 a 的列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'));