查询“不等于"不起作用 [英] query "not equal" doesn't work

查看:103
本文介绍了查询“不等于"不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个非常简单的查询,如下所示:

I have very simple query like this:

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

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

And my deleted_1 be default is null or some user id, but for some reason this query always returns me 0 rows, i also tried <> but still no luck what could be wrong?

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

EDTI So after running more querys i find out that my problems was default value of deleted_1 field, it was NULL so i modified my query and now it works fine:

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

NULL values need special treatment: http://dev.mysql.com/doc/refman/5.1/en/working-with-null.html

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

I'd suggest using the diamond operator (<>) in favor of != as the first one is valid SQL and the second one is a MySQL addition.

这篇关于查询“不等于"不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆