表人:
name
type enum('admin','user','random') NULL DEFAULT NULL
执行此查询时,它不返回类型为 NULL 的记录
select * from person where type != 'admin';
表人:
name
type enum('admin','user','random') NULL DEFAULT NULL
执行此查询时,它不返回类型为 NULL 的记录
select * from person where type != 'admin';
不能用(不)相等语句测试 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”测试/函数。
您可以在 MySQL中使用NULL 安全相等运算符
select *
from person
where not type <=> 'admin'