我有一个名为parents
的表。它有一列名为share_src
的索引。目前它有5行。其中三人有NULL
,而其他人则有post_4556
作为他们的价值。查询返回0行,即使行存在 - MySQL
我使用这种说法 - :SELECT * FROM parents WHERE share_src != 'post_4556'
。它应该返回具有share_src为NULL
的那三行。但它返回0 rows
。
我的查询出了什么问题。感谢帮助。
我有一个名为parents
的表。它有一列名为share_src
的索引。目前它有5行。其中三人有NULL
,而其他人则有post_4556
作为他们的价值。查询返回0行,即使行存在 - MySQL
我使用这种说法 - :SELECT * FROM parents WHERE share_src != 'post_4556'
。它应该返回具有share_src为NULL
的那三行。但它返回0 rows
。
我的查询出了什么问题。感谢帮助。
您的查询没有错,这是NULL
值的行为方式。
添加OR share_src IS NULL
到WHERE
条款,以此来回报那些具有可空share_src
太:
SELECT *
FROM parents
WHERE share_src != 'post_4556'
OR share_src IS NULL;
你需要指定IS NULL
条件以便获取该行中具有特定领域可能是NULL
。
SELECT *
FROM parents
WHERE share_src != 'post_4556'
OR share_src IS NULL;