1. 程式人生 > >Mysql數據表字段設置了默認值,插入數據後默認字段的值卻為null,不是默認值

Mysql數據表字段設置了默認值,插入數據後默認字段的值卻為null,不是默認值

才會 默認 自動 nbsp tis 數據 過濾 工具 持久

我將mysql的數據表的某個字段設置了默認值為1,當向該表插入數據的時候該字段的值不是默認值,而是null。

我的錯誤原因:

對數據庫的操作我使用了持久化工具mybatis,插入數據的時候插入的是整個實體,直接使用的是持久層的insert(實體對象)方法插入的數據

這樣就會出現一個問題,當實體對象中某個屬性值為空時,對應的數據庫的字段就會插入null值,而默認值是插入時不指定該字段,該字段的值才會取默認值。

所以這裏我是向設置了默認值的字段插入了null,才導致出現上述錯誤。

我的解決方法:

這時候我改用insertSelective(實體對象)方法插入實體對象就不會出現上述問題了

因為該方法會自動過濾掉實體對象中值為空的屬性

,對應的數據表字段也不會被插入null了。

以上是我個人遇見的問題和解決方法,希望對您有所幫助!

Mysql數據表字段設置了默認值,插入數據後默認字段的值卻為null,不是默認值