0

表人:

name
type enum('admin','user','random') NULL DEFAULT NULL

执行此查询时,它不返回类型为 NULL 的记录

select * from person where type != 'admin';
4

2 回答 2

1

不能用(不)相等语句测试 null 。你需要使用IS NULL. 例如

select *
from person
where (type != 'admin') or (type IS NULL)

例如 null 是“传染性的”

null > x    -> null
null = x    -> null
null = null -> null
null + 1    -> null
null * 1    -> null

等等......它基本上是“未知的”。在 sql 中混合已知和未知会使结果始终未知。因此特殊的 ifnull()、coalesce() 和“if null”测试/函数。

于 2012-11-15T18:15:30.703 回答
0

您可以在 MySQL中使用NULL 安全相等运算符

select *
from person
where not type <=> 'admin'
于 2012-11-15T18:16:58.330 回答