Linas Linas - 3 months ago 6
MySQL Question

query "not equal" doesn't work

I have very simple query like this:

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


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 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

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

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

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.