20

MySQL 空字符串与这里的 NULL 相比,MySQL 有一个很好的 SO,最好插入 NULL 或空字符串?,但是它没有考虑“一致性”——即,如果你想在你的表中只有一个选择(即空字符串或 NULL),应该是哪一个?

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

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

4

2 回答 2

43

你可以用NULLIF()

你像这样使用它:

NULLIF('test','') --> returns 'test'
NULLIF(''    ,'') --> returns NULL
于 2012-11-15T00:10:04.893 回答
1

作为 NULLIF 的替代方法,您可以将默认值设置为 NULL 并且不传递空字段。

于 2012-11-15T00:13:52.973 回答