MySQL不会在子表中返回一个带有NULL外键的行

时间:2014-05-16 00:23:50

标签: mysql sql

我有一个带有外键的简单表和一个约束,该键必须存在于父表上。但是,此子表中的外键列允许NULL。

MySQL让我在该列中插入一行NULL,并在SELECT * FROM theTable上返回它。

但如果我专门查询这样一行,则不会返回:

SELECT * FROM bannedItems WHERE banningAppID = NULL

这是预期的行为吗?我没有在MySQL文档中记录这种情况。

1 个答案:

答案 0 :(得分:1)

可以尝试这样:

SELECT * FROM bannedItems WHERE banningAppID IS NULL

SELECT * FROM bannedItems WHERE ISNULL( banningAppID )

如果你需要添加NOT,你会这样做:

SELECT * FROM bannedItems WHERE banningAppID IS NOT NULL

SELECT * FROM bannedItems WHERE NOT ISNULL( banningAppID )