当我们通过 mysql 使用 NOT IN 查询时,如果条件字段可以为 NULL 并且值为NULL需要特别注意一下这个时候使用 NOT IN 查询时是查询不到的。测试NULL时反查询不到例子假如我们现在有一个表 useridnickname1张三2李四3NULL4王五现在我们查询用户名不是 张三 和 李四 的用户select * from users where user_name not in ('张三','李四');这个时候我们应该得到的是两条数据idnickname3NULL4王五但是结果却只有一条数据idnickname4王五分析测试NULL时反查询不到问题 这是因为 mysql 中 not in 使用的是 不相等(!=) 比较,即每条记录的 user_name 都和 张三, 李四 进行数据比较。foreach ($user_names as $user_name) { if ($user_name != '张三' && $user_name != '李四') { return true; // 符合条件 }...