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

MySQL INSERT语句语法错误及日期值截断问题求助

问题排查与解决

核心错误分析

  • 日期值非法:你的dob字段值2015-05-145 07:47:09存在两个致命问题:
    1. 日期部分145是无效日份(月份最大天数为31),直接触发数据截断错误;
    2. 表结构中dob的类型是DATE,仅存储年月日,不需要携带时分秒信息。
  • 日期未加单引号:SQL中日期/字符串类型的值必须用单引号包裹,原语句未加单引号时,MySQL会将2015-05-145解析为数学运算(2015-5-145),进而引发语法错误。
  • 可选优化:age字段为int类型,直接传入数字48而非字符串'48',更符合字段类型规范,避免隐式转换风险。

修正后的SQL语句

INSERT INTO users (name, age, comment, dob, email, addres) 
VALUES ('Jane', 48, 'coOUtqEHqY', '2015-05-14', '5Xi1Jdd5LrgMkU8xMv5@outlook.com', 'Suite 638 58920 Loree Path, Port Georgettechester, IL 06836');

注:将dob值修正为合法日期2015-05-14,用单引号包裹,同时调整age值为数字类型。

额外建议

  • 插入日期时严格遵循YYYY-MM-DD格式,确保日份不超过对应月份的最大天数;
  • Java项目中建议使用PreparedStatement替代直接拼接SQL字符串,既能避免类似语法错误,又能防范SQL注入风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 23:40:18