为什么建议 MySQL 数据库字段一定要设置 NOT NULL
创作时间:
作者:
@小白创作中心
为什么建议 MySQL 数据库字段一定要设置 NOT NULL
引用
CSDN
1.
https://blog.csdn.net/linyichao1314/article/details/137569898
在数据库设计中,是否应该为字段设置NOT NULL约束一直是一个值得探讨的话题。本文将从多个角度分析使用NOT NULL的重要性和必要性,并给出具体的使用建议。
为什么建议使用NOT NULL
在实际开发中,对是否使用NOT NULL约束,很多人并没有一个明确的标准。要知道某个字段需不需要添加NOT NULL,首先,要知道NULL和NOT NULL之间的区别,这样你才能更好地玩转NOT NULL,也避免了在项目中可能遇到的一些坑。
一、语义不清晰
NULL和NOT NULL使用空值代表的含义是不一样的。NULL我们可以认为这一列的值是未知的,空值则可以认为我们知道这个值,只不过它是空的而已。比如一张表的name字段是NULL,我们可以认为不知道名字是什么,反之如果是空字符串我们知道没有名字,它就是一个空值。
二、聚合函数计算不准确
对于NULL值的列,使用聚合函数的时候会忽略NULL值。比如表里面有两条数据,其中一条数据的name字段值为NULL,如果对name进行count,表示对非NULL列进行统计,所以查出来的结果为1,这显然是不符合我们的预期的。但是,在实际开发中一般都是对id字段进行统计数量。
三、导致等号表达式失效
比如表的name字段是NULL,如果使用等号查询,是查不到的,必须使用is NULL才能查询出来。
四、导致值运算失效
比如表的age字段值是NULL,加1之后结果还是NULL,name字段值是NULL,concat之后结果也变成了NULL,这也是不符合我们预期的。
五、一些意想不到的问题
比如表里面只有一条name为高启强的数据,但是查询不等于高启强的数据时,显示只有一条,这显然不符合我们的预期。
是否应该使用NOT NULL
个人开发建议,大多数字段应该设置NOT NULL,配合默认值default使用更好。比如:
- 用户状态字段status,只有两个值0禁用1正常。应该设置NOT NULL并设置默认值为1。
热门推荐
赵露思:从至暗到重生,粉丝爱是最大动力
赵露思:从73.8斤到82斤,一个抑郁症患者的重生之路
赵露思:从隐瞒到公开,一位顶流艺人的抑郁症抗争之路
不干不净吃了可能会病
卧云庐新展开幕:白云历史文化探秘
元旦打卡白云山:广州人的私藏秘境
白云山徒步攻略:打卡羊城第一秀
周末打卡白云山:广州人的私藏秘境
双十一省钱攻略:如何在预算内享受美食生活?
盘点《熊出没》系列最具争议的电影作品
巨蟹座与射手座:如何平衡爱与自由?
巨蟹座和射手座:家庭里的最佳拍档
巨蟹座和射手座:能否成为好朋友?
射手座和巨蟹座:天生一对还是纠缠不清?
春节不回家,如何过个健康年?
湖南张家界:武陵腹地的自然奇观与人文魅力
湖南张家界的基本信息及历史文化!
电采暖执行阶梯电价!报道后已调整,但是......
竹园小学英语才艺秀:用才艺展示提升英语表达
家长老师如何帮助学生消解消极情绪?特级教师支招
新年手机壁纸图片合集:红红火火迎接新春
智慧教育助力课堂创新:吕老师的教学实践与启示
赵匡胤永昌陵随葬品揭秘:政治隐喻大起底
赵匡胤后人墓葬惊现珍贵香盒!
就业不愁的4个大学专业,市场需求大,发展前景好,2025考生别错过
郑州:从交通枢纽到战备重镇
郑州:交通枢纽优势助推经济高质量发展
网约车:虽非暴富之路,却是生活保障
三线城市网约车女司机:握紧人生的方向盘
一文了解高考志愿12大专业门类,93种专业类