2017-01-09 7 views
1

У меня на компьютере установлен mysql.Не удалось получить записи из запроса mysql

У меня есть стол users, в котором находится поле pointsRedeemed. Когда я вижу записи с использованием mysql workbench, используя запрос select * from users, и вижу результаты, то он показывает записи.

В этих записях я четко вижу, как pointsRedeemed отображает null.

Но когда я делаю запрос наподобие этого select * from users where pointsRedeemed=null, он не отображает результаты. Мне нужны те записи, в которых pointsRedeemed=null. Как получить эти записи?

ответ

6

Вы не можете сравнить столбцы с значениями NULL, используя equals (=). Вместо этого вам необходимо использовать IS NULL или IS NOT NULL. Следующий запрос должен давать результаты, которые вы ожидали:

SELECT * 
FROM users 
WHERE pointsRedeemed IS NULL 

Для более глубокого объяснения, NULL представляет неизвестное значение в реляционной базе данных. Следовательно, выражение pointsRedeemed = NULL семантически говорит, что pointsRedeemed равно тому, что неизвестно? Результат этого сравнения также неизвестен и никогда не вернет ни истину, ни ложь.

+1

Ahh. большое спасибо. Я был очень расстроен долгое время. Вы сделали свой день –

+0

Рад помочь вам. –

0

Используйте следующие

SELECT * FROM users WHERE pointsRedeemed IS NULL 
Смежные вопросы