我有一些列可能包含用户想要提供的数据。
示例| 电子邮件 | 名字 | 姓氏 |
电子邮件 - 必填,因此列设置为NOT NULL - 默认值:无
名字 - 不需要所以列设置为NULL - 默认值:NULL
姓氏 - 不需要,因此列设置为NULL - 默认值:NULL
在phpmyadmin中创建/编辑列时;它有一个选项说默认值:,下拉列表显示无|如定义| NULL |当前时间戳
因为名字|姓氏是可选的,如果我选择默认的NULL或NONE,则不需要?
哪个最好,为什么请?
我知道有很多关于此的讨论,但我找不到任何回答我的问题;他们更多关于允许NULL或NOT NULL,我的问题是关于默认值。
答案 0 :(得分:11)
您应该将它们设置为Default:Null,就好像用户没有提供该字段的任何信息一样,它们显然应为null。
答案 1 :(得分:7)
使用NULL,无模式插入'None'或某些''字符串表示那里什么都没有....
有关为什么要使用NULL而不是字符串的详细信息,请参阅此处:MySQL, better to insert NULL or empty string?
答案 2 :(得分:0)
如果您计划索引那些NULL列,那么在大表(超过100万行......)上确实会出现性能问题。但是,使用空字符串或NULL作为字符串('null')作为默认值可能会提高这些情况下的查询性能。顺便说一句,我不是说NULL是邪恶的,但这些是我们在电信业务中面临的一些情况。