当前位置: 首页 > 面试题库 >

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

法风畔
2023-03-14
问题内容

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


问题答案:

通过使用,NULL您可以区分“不输入数据”和“不输入数据”。

更多区别:

  • 一个LENGTHNULL就是NULL,一个LENGTH空字符串的是0

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

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

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

    SELECT  *
    

    FROM mytable
    WHERE mytext = ?

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

    SELECT  *
FROM    mytable 
WHERE   mytext IS NULL


 类似资料:
  • 问题内容: 我有一个将某些变量插入数据库的MySQL语句。我最近添加了两个可选字段($ intLat,$ intLng)。现在,如果未输入这些值,我将传递一个空字符串作为值。如何将明确的NULL值传递给MySQL(如果为空)? 问题答案: 要将NULL传递给MySQL,只需执行此操作。 因此,在您的代码中,检查是,如果是,请使用代替或。

  • 本文向大家介绍MySQL查询空字段或非空字段(is null和not null),包括了MySQL查询空字段或非空字段(is null和not null)的使用技巧和注意事项,需要的朋友参考一下 现在我们先来把test表中的一条记录的birth字段设置为空。 mysql> update test set t_birth=null where t_id=1; Query OK, 1 row affe

  • 问题内容: 检索bit或char(1)有什么 性能 差异? 只是出于好奇=] 更新:假设我正在使用SQL Server 2008! 问题答案: 对于SQL Server:单个字节内最多可以存储8个类型的列,而每个类型的列将占用一个字节。 另一方面:一列可以有两个值(0 =否,1 =真)或根本没有值(NULL)-而a可以具有任何字符值(更多可能性) 因此,实际上可以归结为: 您是否真的需要一个真/假

  • 本文向大家介绍区分MySQL中的空值(null)和空字符(''),包括了区分MySQL中的空值(null)和空字符('')的使用技巧和注意事项,需要的朋友参考一下 日常开发中,一般都会涉及到数据库增删改查,那么不可避免会遇到Mysql中的NULL和空字符。 空字符('')和空值(null)表面上看都是空,其实存在一些差异: 定义: 空值(NULL)的长度是NULL,不确定占用了多少存储空间,但是占

  • 问题内容: 在这个问题中,我学习了如何防止插入NULL值。但是,不幸的是,无论如何都会插入一个空字符串。除了在PHP方面防止这种情况外,我想使用类似数据库约束的方法来防止这种情况。当然,有必要在应用程序方面进行检查,但是我希望双方都进行检查。 我被告知,无论应用程序在与您的数据库进行通信,它都不能在其中插入基本上错误的数据。所以… 仍将允许我执行此插入操作: 我想防止。 问题答案: 通常,您可以使

  • 问题内容: 我可以在非null字段中插入一个空字符串吗? 问题答案: 是的,您可以… NULL值的概念是SQL新手经常感到困惑的原因,他们经常认为NULL与空字符串’‘相同,或者值为零。 不是这种情况。从概念上讲,NULL表示“缺少未知值”,并且与其他值的处理方式有所不同。例如,要测试NULL,不能在大多数DBMS中使用算术比较运算符,例如=,<或<>。