查询返回0行,即使行存在 - MySQL

时间:2013-03-17 11:34:25

标签: mysql null

我有一张名为parents的表格。它有一个名为share_src的列,它被编入索引。目前它有5行。其中三个人有NULL,而其他人有post_4556作为他们的价值。

我正在运行此声明 - SELECT * FROM parents WHERE share_src != 'post_4556'。它应该返回那些share_src为NULL的行。但它正在返回0 rows

我的查询有什么问题。谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

您需要指定IS NULL条件以获取特定字段可能为NULL的行。

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

答案 1 :(得分:1)

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

OR share_src IS NULL添加到WHERE子句中,以便返回那些可以为share_src的内容:

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