插入mysql时报错Data truncation: Incorrect datetime value: '0'

实体类中的类型是Date 数据库中是timestamp

Data truncation: Incorrect datetime value: '0' 重点是最后的'0'啊

百度了很多,
但是别人都是Data truncation: Incorrect datetime value: for column 'XXX'

有的说是数据库版本问题 有的说是jar包里的mysql-connector-java版本问题

但我同项目下不同包的另一个程序也有插入datetime的sql语句,就没有这个问题


实体类中的类型是Date 数据库中是timestamp

我们这边正好跟你的相反,实体类里面是timestamp,数据库是date。没任何问题

java中Date类型默认是格林尼治时间,对应数据表使用的是datetime类型

我们引入的mysql的jar包,数据库驱动mysql-connector-java封装了将java的Date类型的格林尼治时间转换为‘yyyy-MM-dd HH:mm:ss’的功能。

对应的数据表使用的是date类型
当我们的MySQL版本和驱动mysql-connector-java的jar包版本一致才能够转换成功(我的mysql版本为5.6,驱动是5.1.7)

接手的未完成的项目 有个触发器连接了别的表,导致存不进这个时间,……打扰了……