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工作台中工作。 column1的数据类型为DATETIME;

CREATE TABLE tasks (
  id int,
  column1 DATETIME
);

最佳答案

您不能将整数值添加到字符串。 NOW()生成为字符串。为了符合要求,MySQL通过替换字符串(破折号)来将NOW()的值强制为整数。

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

关于mysql - 日期时间更新有什么问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46787666/

10-17 02:21