2012-11-15 69 views
12

对于MySQL空字符串,这里有一个非常好的SO字节,这里是MySQL, better to insert NULL or empty string?,但它并没有考虑到“统一性” - 即如果你想在表中只有一个选项(即空字符串或NULL),这应该是什么?MySQL可以自动将空字符串转换为NULL吗?

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

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

回答

26

您可以NULLIF()

附上的字符串您可以使用这样的:

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

[NULLIF](http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_nullif) – Andrei

1

或者到NULLIF你可以设置默认为NULL,只是没有一起传递空字段。

相关问题