【遇到的问题】com.mysql.jdbc.MysqlDataTruncation 报错

hemkyy7 / 2023-05-16 / 原文

com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: ‘null’ for colum ‘time’ at row 1

  • 发现代码执行过程中数据存储失败,但是在数据库中执行语句又可以成功。

    在网络上搜索解决方案,但都解决无果:

    • 以为是String类型和Date类型转换的问题

    • mysql-connector-java.jar包版本问题

    • 数据库权限问题

      # 查看当前sql_mode
      select @@sql_mode;
      # 查看全局sql_mode
      select @@global.sql_mode;
      
      # 修改全局
      set @@global.sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
      # 修改当前
      set @@sql_mode = 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
      
  • 最后发现这个time字段,一直都没有给它赋值...