mysql – 将字段留空更好还是用null填充它?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql – 将字段留空更好还是用null填充它?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1500字,纯文字阅读大概需要3分钟。
内容图文
我有一个包含名为first_name的列的表.用户填写它并不是强制性的,有时用户将其留空.现在我想知道:将null值定义为默认值是否更好?
解决方法:
请考虑下表:
create table test1 (
id int not null,
first_name varchar(50), -- nullable
last_name varchar(50) -- also nullable
);
如果UI中未提供first_name,则可以选择不通过执行以下操作将数据插入该字段:
insert into test1 (id, last_name) values (123, 'Smith');
或者,您可以选择显式为first_name提供NULL,如下所示:
insert into test1 (id, first_name, last_name) values (123, NULL, 'Smith');
-- you could also do like this below:
-- insert into test1 values (123, NULL, 'Smith');
-- I just like providing explicit fieldnames and values
无论您选择哪种方式,只需在整个应用程序中保持一致.您的结果看起来一样:
+-----+------------+-----------+
| id | first_name | last_name |
+-----+------------+-----------+
| 123 | NULL | Smith |
| 123 | NULL | Smith |
+-----+------------+-----------+
所以 – 回答真正的问题:不要在表创建中定义显式null.
提供”或NULL时,只需确保一致.如果某些first_name是”且某些是NULL,则您的select语句必须是:
select * from test1 where first_name is NULL or first_name is '';
这带来了另一点 – 如果用户键入”(4个空格)怎么办?您必须确保first_name符合某些条件,并且first_name的修剪版本在进入数据库之前会经过验证.如果您的数据库以”,”,’等结束,则必须经常运行:
select * from test1 where first_name is NULL or trim(first_name) = '';
--or--
--select * from test1 where first_name is NULL or length(trim(first_name)) = 0;
与NULL first_name的一致性将有助于自信地查询.
内容总结
以上是互联网集市为您收集整理的mysql – 将字段留空更好还是用null填充它?全部内容,希望文章能够帮你解决mysql – 将字段留空更好还是用null填充它?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。