请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Column 'create_time' cannot be null

数据库表order_master按照建表语句创建,create_time字段设置了默认值,但测试save方法的时候,还是报错提示:Column 'create_time' cannot be null

https://img1.sycdn.imooc.com//szimg/5abc56540001bf2109850148.jpg

正在回答 回答被采纳积分+3

4回答

GooTsung_jen 2018-05-17 12:23:03

数据库版本问题,在5.66(应该是这个版本,我用的是5.7)版本以上的mysql,更改my.cnf的

explicit_defaults_for_timestamp

为false,restart之后,就好了,还有楼上的“殇腥黯皓”,丫能解决就解决,不能解决就别打字刷存在感

3 回复 有任何疑惑可以回复我~
  • 就你最牛逼,我用的5.7以上版本mysql版本设置默认值就能用了,根本就没有改过配置文件,你想回答就回答好了,为什么要扯上别人,回不回答问题是我的自由,有用就采用,没用就略过。你这么厉害怎么不回答所有的问题
    回复 有任何疑惑可以回复我~ 2018-05-17 23:35:42
  • 呵呵呵
    回复 有任何疑惑可以回复我~ 2018-05-18 16:17:27
Herron___ 2019-09-11 04:16:49

删除orderMaster的createTime和updateTime字段

或者在orderMaster上增加注解@DynamicInsert和@DynamicUpdate

这两个亲测都可行。应该是新创建的字段使得MySQL的自动充填失效了

0 回复 有任何疑惑可以回复我~
Dty_祥子 2018-04-30 20:48:44

我也碰到相同的问题了

0 回复 有任何疑惑可以回复我~
殇腥黯皓 2018-03-29 22:30:25

你只贴了这个错怎么知道你那里写错了,请仔细对照源码,按理来说设置了默认值就不会报错,你可以去确认一下在数据库添加一个数据是否会自动生成创建时间

0 回复 有任何疑惑可以回复我~
  • 数据库会生成时间,我的解决方式使用@Transient注解
    回复 有任何疑惑可以回复我~ 2018-04-30 21:13:54
  • 我的mysql是8.0.13你这个方法我可以使用,新增的时候时间没问题,修改的时候也是数据操作,但是没有注解就只能是全字段更新了,不过问题也解决了
    回复 有任何疑惑可以回复我~ 2019-03-07 20:47:34
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信