2013-03-17 76 views
0

我有一个名为parents的表。它有一列名为share_src的索引。目前它有5行。其中三人有NULL,而其他人则有post_4556作为他们的价值。查询返回0行,即使行存在 - MySQL

我使用这种说法 - :SELECT * FROM parents WHERE share_src != 'post_4556'。它应该返回具有share_src为NULL的那三行。但它返回0 rows

我的查询出了什么问题。感谢帮助。

回答

1

您的查询没有错,这是NULL值的行为方式。

添加OR share_src IS NULLWHERE条款,以此来回报那些具有可空share_src太:

SELECT * 
FROM parents 
WHERE share_src != 'post_4556' 
    OR share_src IS NULL; 
2

你需要指定IS NULL条件以便获取该行中具有特定领域可能是NULL

SELECT * 
FROM parents 
WHERE share_src != 'post_4556' 
    OR share_src IS NULL;