首页 >数据库 >mysql教程 >如何在MySQL中正确选择具有NULL值的行?

如何在MySQL中正确选择具有NULL值的行?

DDD
DDD原创
2024-11-30 10:20:21921浏览

How to Correctly Select Rows with NULL Values in MySQL?

MySQL:选择具有 NULL 值的行

在尝试检索特定列包含 NULL 值的行时,用户遇到空值结果集。尽管在 phpMyAdmin 中查看时表显示 NULL 值,但还是出现了这种差异。

有问题的查询类似于以下内容:

SELECT pid FROM planets WHERE userid = NULL

在探索了各种建议(包括检查“NULL”或“”之后) null”字符串并搜索空白,用户仍然无法检索所需的行。由于怀疑 MyISAM 存储引擎可能是一个影响因素,用户将表转换为 InnoDB。然而问题依然存在。

解决问题

解决方案在于了解 SQL NULL 值的特殊性质。与传统值不同,NULL 不能使用等号 (=) 进行等同。要正确检索具有 NULL 值的行,必须使用以下语法:

WHERE field IS NULL

这种区别源于 NULL 代表未知或未定义的值,因此无法确定它是否真正等于任何事物,包括它本身。这一原则体现在 Codd 规则 3 中。

通过将查询调整为:

SELECT pid FROM planets WHERE userid IS NULL

用户现在应该能够成功检索具有 NULL 值的行。

以上是如何在MySQL中正确选择具有NULL值的行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn