使用默认的NULL是好的吗?

时间:2011-02-27 16:16:13

标签: mysql database database-design null phpmyadmin

我有一些列可能包含用户想要提供的数据。

示例| 电子邮件 | 名字 | 姓氏 |

电子邮件 - 必填,因此列设置为NOT NULL - 默认值:无

名字 - 不需要所以列设置为NULL - 默认值:NULL

姓氏 - 不需要,因此列设置为NULL - 默认值:NULL

在phpmyadmin中创建/编辑列时;它有一个选项说默认值:,下拉列表显示无|如定义| NULL |当前时间戳

因为名字|姓氏是可选的,如果我选择默认的NULL或NONE,则不需要?

哪个最好,为什么请?

我知道有很多关于此的讨论,但我找不到任何回答我的问题;他们更多关于允许NULL或NOT NULL,我的问题是关于默认值。

3 个答案:

答案 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是邪恶的,但这些是我们在电信业务中面临的一些情况。