小编典典

MySQL,最好插入 NULL 或空字符串?

all

我在一个有很多不同领域的网站上有一个表格。有些字段是可选的,而有些是强制性的。在我的数据库中,我有一个包含所有这些值的表,在用户没有放置任何数据的数据库列中插入
NULL 值或空字符串是更好的做法吗?


阅读 96

收藏
2022-05-30

共1个答案

小编典典

通过使用NULL可以区分“不放数据”和“放空数据”。

还有一些区别:

  • 一个LENGTH是,一个空字符串NULL是。NULL``LENGTH``0

  • NULLs 在空字符串之前排序。

  • COUNT(message)将计算空字符串但不计算NULLs

  • 您可以使用绑定变量搜索空字符串,但不能搜索NULL. 这个查询:

    SELECT  *
    

    FROM mytable
    WHERE mytext = ?

永远不会匹配 a NULLin mytext,无论您从客户端传递什么值。要匹配NULLs,您必须使用其他查询:

    SELECT  *
FROM    mytable 
WHERE   mytext IS NULL
2022-05-30