我有一个非常简单的查询,像这样:
SELECT * FROM `all_conversations` WHERE `deleted_1` != '1';
我的deleted_1默认设置是null或某些用户ID,但是由于某种原因,该查询总是返回0行,我也尝试过,<>但还是没有运气,这可能是什么错误?
deleted_1
null
<>
EDTI 因此,在运行更多查询后,我发现我的问题是deleted_1字段的默认值,NULL因此我修改了查询,现在可以正常使用:
NULL
SELECT * FROM `all_conversations` WHERE `deleted_1` != 'NULL' AND `deleted_1` != 23
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的加法。
!=