报错信息大致如下
java.sql.SQLIntegrityConstraintViolationException: Column ‘xxx’ cannot be null;
其中xxx字段为个timestamp(6)
我们自己的生产上是正常的,客户独立部署报了上面的错误。 执行insert语句时违反完整性约束。
查看代码近期没有被修改过,最终锁定到数据库配置这里
通过对比我们和客户的配置发现执行下面的语句时
SHOW GLOBAL VARIABLES LIKE '%explicit_defaults_for_timestamp%'
我们的环境变量配置是OFF
客户的为ON
具体分析可以参考这篇文章
知道原因稍作修改即可解决该问题了。