MySQL能否自动将空字符串转换为NULL?

时间:2012-11-15 00:06:43

标签: php mysql forms

在MySQL空字符串上有一个很好的SO而不是NULL MySQL, better to insert NULL or empty string?,但它没有考虑到'一致性' - 即如果你想在表中只有一个选择(即空字符串OR NULL),它应该是什么?

我的问题是,我可以让MySQL自动将空字符串存储为NULL吗?

在阅读了之前的SO后,我通常倾向于存储NULL,但问题是我有很多带有可选字段的PHP表单,并且(当留空时)这些返回空字符串。

2 个答案:

答案 0 :(得分:29)

您可以使用NULLIF()

将字符串括起来

你这样使用它:

NULLIF('test','') --> returns 'test'
NULLIF(''    ,'') --> returns NULL

答案 1 :(得分:1)

对于NULLIF,您可以将默认值设置为NULL,而不是传递空字段。