Mysql中表字段设置了默认值,插入数据后默认字段的值却为null,不是默认值的问题 随手记

最近在项目中遇到一个问题,我将Mysql中表的某个字段设置了一个默认值0,但是当向这张表插入数据时,这个字段的值并不是默认值,而是null。

错误原因

对数据库的操作我使用了mybatis持久化工具,插入数据的时候插入的是整个实体,直接使用的是持久层的insert(实体对象)方法插入到数据库。
这样就会出现一个问题,当实体对象中某个属性值为空时,对应的数据库的字段就会插入null值,而默认值是插入时不指定该字段,该字段的值才会取默认值。
所以这里我是向设置了默认值的字段插入了null,才导致出现上述错误。

解决方式

我在插入时set了这个字段的默认值0,也就是说直接给字段赋值后再插入数据库。

据了解也可以使用insertSelective(实体对象)方法插入实体对象就不会出现上述问题了

发布了15 篇原创文章 · 获赞 5 · 访问量 249
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 游动-白 设计师: 上身试试

分享到微信朋友圈

×

扫一扫,手机浏览