MySQL可以自动将空字符串转换为NULL吗?
MySQL空字符串与NULL有一个很好的SO,MySQL,最好插入NULL或空字符串?,但是它没有考虑到“一致性” - 即,如果你想在你的表中只有一个选择(即空字符串或NULL),它应该是哪个?
我的问题是,我可以让MySQL自动将空字符串存储为NUL吗?
在阅读了前面的SO之后,我通常倾向于存储NULL,但问题是我有很多带有可选字段的PHP表单,并且(当留空时)这些表单返回空字符串。
MySQL空字符串与NULL有一个很好的SO,MySQL,最好插入NULL或空字符串?,但是它没有考虑到“一致性” - 即,如果你想在你的表中只有一个选择(即空字符串或NULL),它应该是哪个?
我的问题是,我可以让MySQL自动将空字符串存储为NUL吗?
在阅读了前面的SO之后,我通常倾向于存储NULL,但问题是我有很多带有可选字段的PHP表单,并且(当留空时)这些表单返回空字符串。
您可以将字符串括起来NULLIF()
你这样使用它:
NULLIF('test','') --> returns 'test'
NULLIF('' ,'') --> returns NULL
或者,对于 NULLIF,您可以将默认值设置为 NULL,而不传递空字段。