You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL Workbench执行INSERT语句报错ERROR 1292:日期值不正确

MySQL INSERT语句日期值错误(ERROR 1292)解决方法
  • 错误根源:你把日期函数用单引号'包起来了,MySQL会把'CURDATE()'这类内容当成普通字符串,不会执行函数计算日期,自然不符合日期列的格式要求,触发ERROR 1292。

  • 正确的SQL写法:

    INSERT INTO `advantagedb`.`quests` 
    (`QuestID`, `QuestName`, `Description`, `StartDate`, `EndDate`, `Reward`) 
    VALUES ('2', 'q2', 'qq2', CURDATE(), DATE_ADD(NOW(), INTERVAL 1 DAY), '13');
    

    关键:CURDATE()、DATE_ADD(NOW(), INTERVAL 1 DAY)这类日期函数绝对不能加单引号,让MySQL直接执行函数返回合法的日期值。

  • 额外排查项:

    • 检查StartDate和EndDate列的数据类型,必须是DATE、DATETIME或TIMESTAMP类型,要是列类型是VARCHAR,就算能存字符串也不建议用日期函数,直接写'2024-05-20'这种标准格式的日期字符串。
    • 要是在MySQL Workbench的Result Grid手动插行,直接输入CURDATE()无效,要么手动填具体日期,要么执行上面的SQL脚本插入。

内容的提问来源于stack exchange,提问作者Instancer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 20:12:05