MySql:使用MySqlWorkbench修改列的默认值为'',无效

MySql:使用MySqlWorkbench修改列的默认值为'',无效,第1张

如题,直接在Workbench中修改了默认值为'',点击Apply,Output如下:

19:09:09|Apply changes to t_users|No changes detected

没有效果,看来只能用sql语句来 *** 作了。

解决方案:执行sql语句:alter table learn.t_users alter column history set default ''

19:14:21| alter table learn.t_users alter column history set default '' |0 row(s) affected Records: 0  Duplicates: 0  Warnings: 0 0.079 sec

成功!

mysql default值只有在insert语句中没有这个字段时才会生效,如果insert中有插入该字段而该字段取值又为null,null值将被插入到表中,default此时失效。在mybatis开发中通常会直接插入一个表对象,表中所有字段都会插入,因此如果要设置默认值,应该在业务层写逻辑,而不能依赖mysql的default来设置默认值。

注:可以使用mybatis的动态sql解决该bug


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5914360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存