首页 > 数据库技术 > 详细

Mysql数据表字段设置了默认值,插入数据后默认字段的值却为null,不是默认值

时间:2018-12-14 20:27:35      阅读:393      评论:0      收藏:0      [点我收藏+]

我将mysql的数据表的某个字段设置了默认值为1,当向该表插入数据的时候该字段的值不是默认值,而是null。

 

我的错误原因:

对数据库的操作我使用了持久化工具mybatis,插入数据的时候插入的是整个实体,直接使用的是持久层的insert(实体对象)方法插入的数据

这样就会出现一个问题,当实体对象中某个属性值为空时,对应的数据库的字段就会插入null值,而默认值是插入时不指定该字段,该字段的值才会取默认值。

所以这里我是向设置了默认值的字段插入了null,才导致出现上述错误。

 

我的解决方法:

这时候我改用insertSelective(实体对象)方法插入实体对象就不会出现上述问题了

因为该方法会自动过滤掉实体对象中值为空的属性,对应的数据表字段也不会被插入null了。

Mysql数据表字段设置了默认值,插入数据后默认字段的值却为null,不是默认值

原文:https://www.cnblogs.com/znsongshu/p/10121494.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!