没有从mysql查询中获取记录

时间:2017-01-09 08:35:18

标签: mysql

我的电脑上安装了mysql。

我有一个表users,其中一个字段为pointsRedeemed。当我使用mysql workbench使用查询select * from users查看记录并查看结果时,它会显示记录。

在这些记录中,我可以清楚地看到pointsRedeemed正在显示null

但是当我像select * from users where pointsRedeemed=null那样进行查询时,它会显示没有结果。我想要那些pointsRedeemed=null的记录。如何获得这些记录?

2 个答案:

答案 0 :(得分:6)

您无法使用等号(NULL)运算符将列与=值进行比较。相反,您需要使用IS NULLIS NOT NULL。以下查询应该产生您期望的结果:

SELECT *
FROM users
WHERE pointsRedeemed IS NULL

有关更深入的解释,NULL表示关系数据库中的未知值。因此,表达式pointsRedeemed = NULL在语义上是说pointsRedeemed等于未知的东西?这种比较的结果也是未知的,永远不会返回true或false。

答案 1 :(得分:0)

使用以下

SELECT * FROM users WHERE pointsRedeemed IS NULL