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

Kim*_*nce 15 php mysql forms sql-null

MySQL空字符串上有一个很好的SO而不是NULL,MySQL,最好插入NULL或空字符串?,但它没有考虑到"一致性" - 即如果你想在你的表中只有一个选择(即空字符串OR NULL),它应该是什么?

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

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

Wou*_*ick 33

你可以用你的字符串括起来 NULLIF()

你这样使用它:

NULLIF('test','') --> returns 'test'
NULLIF(''    ,'') --> returns NULL
Run Code Online (Sandbox Code Playgroud)

  • [NULLIF](http://dev.mysql.com/doc/refman/5.7/en/control-flow-functions.html#function_nullif) (3认同)
  • 如果 NULLIF(string1, string2) 的第一个和第二个参数匹配,则返回 NULL。 (2认同)