mysql中timestamp类型数据的问题

mysql5.5中,一张表中不允许有多个timestamp类型的字段同时设置当前时间为默认值,解决这个问题只能是升级mysql版本或者将其余的timestamp类型的字段默认值设为null
如果将默认值设为null,则在java中会报
Value '0000-00-00' can not be represented as java.sql.Date错误
这是因为 “0000-00-00 00:00:00”在mysql中是作为一个特殊值存在的,但是在Java中,java.sql.Date 会被视为 不合法的值,被JVM认为格式不正确。

解决方案:
在jdbc的url加上 zeroDateTimeBehavior参数:

datasource.url=jdbc:mysql://localhost:3306/pe?characterEncoding=gbk&zeroDateTimeBehavior=convertToNull

你可能感兴趣的:(mysql中timestamp类型数据的问题)