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

10 浏览
0 Comments

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

我在网站上有一个表单,其中有许多不同的字段。其中一些字段是可选的,而一些字段是必填的。在我的数据库中,我有一个表存储所有这些值,在用户没有输入任何数据的情况下,在DB列中插入NULL值还是空字符串更好的实践?

admin 更改状态以发布 2023年5月23日
0
0 Comments

有一件要考虑的事情,如果你曾经打算切换数据库,那就是Oracle不支持空字符串。它们会被自动转换为NULL,你不能使用像WHERE somefield = ''这样的从句来查询它们。

0
0 Comments

使用NULL,您可以区分“不放置数据”和“放置空数据”之间的差异。

一些更多的区别:

  • NULLLENGTHNULL,空字符串的LENGTH0

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

  • COUNT(message)会计算空字符串但不计算NULL

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

    SELECT  *
    FROM    mytable 
    WHERE   mytext = ?
    

    永远不会匹配mytext中的NULL,无论您从客户端传入什么值。要匹配NULL,您必须使用其他查询:

    SELECT  *
    FROM    mytable 
    WHERE   mytext IS NULL
    

0