一尘不染

查询“不等于”不起作用

mysql

我有一个非常简单的查询,像这样:

SELECT * FROM `all_conversations` WHERE `deleted_1` != '1';

我的deleted_1默认设置是null或某些用户ID,但是由于某种原因,该查询总是返回0行,我也尝试过,<>但还是没有运气,这可能是什么错误?

EDTI 因此,在运行更多查询后,我发现我的问题是deleted_1字段的默认值,NULL因此我修改了查询,现在可以正常使用:

SELECT *
FROM `all_conversations`
WHERE `deleted_1` != 'NULL'
AND `deleted_1` != 23

阅读 263

收藏
2020-05-17

共1个答案

一尘不染

SELECT * FROM all_conversations WHERE deleted_1 <> 1 OR deleted_1 IS NULL

NULL值需要特殊处理:http : //dev.mysql.com/doc/refman/5.1/en/working-with-
null.html

我建议使用菱形运算符(<>),!=因为第一个是有效的SQL,第二个是MySQL的加法。

2020-05-17