Author:3# 一个专注于web技术的80后核心就是一句话:软件开发要知其然知其所以然。
[email protected]#,CSDN官方首发,`3#原创
博客: ???? 极客小俊GeekerJun ????
细心的小伙伴一定还会发现一个问题,如果表中没有任何数据的情况下,可以通过alter修改语句来把字段从 null 修改为 not null, 但是,
但是如果表中已经插入了数据,并且也有空数据的情况下,就不能够通过alter语句来修改为 not null 并且会错误信息: Invalid use of NULL value 获取提示数据被截断之类的错误信息!
原因: 其实也很简单, 因为表中已经有数据,并且也允许了空数据进来了,比如说你一开始就有null 约束 那么新增数据的时候,如果有空数据,或者说没有填写这个字段时, NULL就会插入到该字段,这个时候你又修改为not null 那么此时MySQL便有了矛盾了,所以报出一些个错误提示: 如下
Column cannot be null 列不能为空
Data truncated for column… 列的数据被截断
Invalid use of NULL value…
解决办法:
把为null约束的字段数据保存后,将这个字段全部更新Update, 使这个字段的每一行都有值! ,然后再使用alter语句去修改这个字段为not null约束就可以了!
小提示:
但一定尽量不要出现这种类似的问题! 在数据库表设计的时候就应该做好这方面的选择处理, 不应该后期再来修改数据库的物理结构 这样对数据库中数据完整性会有一定的伤害!
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
听说 ???? 点赞 ???? 的人运气不会太差,每一天都会元气满满哦 嘿嘿!!! ❤️ ❤️ ❤️
大家的支持就是我坚持下去的动力。点赞后不要忘了???? 关注 ????我哦!
更多精彩内容请前往 极客小俊GeekerJun 的博客
如果以上内容有任何错误或者不准确的地方,欢迎在下面 ???? 留个言指出、或者你有更好的想法,欢迎一起交流学习~~~