日期更新有什么问题?

时间:2017-10-17 10:10:46

标签: mysql datetime

UPDATE `tasks` SET `column1` = NOW()+29100 WHERE `id` = "237759717" 
  

错误代码:1292。日期时间值不正确:第1行第'column1'列的'20171017139327'

UPDATE `tasks` SET `column1` = (NOW()+29100) WHERE `id` = "237759717"
  

1行受影响的行匹配:1已更改:1警告:0

随后:

UPDATE `tasks` SET `column1` = NOW()+29100 WHERE `id` = "237759717" 
  

1行受影响的行匹配:1已更改:1警告:0

UPDATE `tasks` SET `column1` = (NOW()+28260) WHERE `id` = "237759717"   
  

错误代码:1292。日期时间值不正确:第1行第'column1'列的'20171017139301'

我在mysql workbench工作。 column1的数据类型是DATETIME;

CREATE TABLE tasks (
  id int,
  column1 DATETIME
);

1 个答案:

答案 0 :(得分:2)

您无法为字符串添加整数值。 NOW()生成字符串。为了遵守,MySQL通过替换字符串(短划线)来强制NOW()的值为整数。

你所追求的是DATE_ADD(NOW(), INTERVAL 29100 SECOND);而不是NOW() + 29100

相关问题