MySQL可以自动将空字符串转换为NULL吗?
Posted
技术标签:
【中文标题】MySQL可以自动将空字符串转换为NULL吗?【英文标题】:Can MySQL automatically convert empty strings to NULL? 【发布时间】:2012-11-03 14:01:01 【问题描述】:这里有一个很好的关于 mysql 空字符串与 NULL 的 SO,MySQL, better to insert NULL or empty string?,但是它没有考虑“一致性” - 即如果你想在你的表中只有一个选择(即空字符串或NULL),应该是哪个?
我的问题是,我可以让 MySQL 自动将空字符串存储为 NULL 吗?
在阅读了之前的 SO 之后,我通常倾向于存储 NULL,但问题是我有很多带有可选字段的 php 表单,并且(当留空时)这些返回空字符串。
【问题讨论】:
【参考方案1】:作为 NULLIF 的替代方法,您可以将默认值设置为 NULL 并且不传递空字段。
【讨论】:
【参考方案2】:你可以用NULLIF()
括住你的字符串
你可以这样使用它:
NULLIF('test','') --> returns 'test'
NULLIF('' ,'') --> returns NULL
【讨论】:
NULLIF 如果NULLIF(string1, string2)
的第一个和第二个参数匹配,则返回NULL
。以上是关于MySQL可以自动将空字符串转换为NULL吗?的主要内容,如果未能解决你的问题,请参考以下文章
将mysql数据导出到csv时不要将NULL值转换为空字符串
使用 Json 反序列化在 Java 中自动将空字符串转换为 null