Когда я запускаю этот запрос:
SELECT * FROM `forums_posts` WHERE pid < IS NULL ORDER BY pid DESC LIMIT 0,50
Версия MySQL: 5.5.5-10.1.13-MariaDB
Я получаю эту ошибку:
Ошибка: 1S111 / 1 В вашем синтаксисе SQL есть ошибка; проверьте руководство, которое соответствует вашей версии сервера MariaDB для права
синтаксис для использования около ‘IS NULL ORDER BY pid DESC LIMIT 0,50’ в строке 1
Что я делаю неправильно?
Если вы хотите получить запись, где pid не равен NULL, попробуйте следующее:
SELECT * FROM `forums_posts` WHERE pid IS NOT NULL ORDER BY pid DESC LIMIT 0,50
Если вы хотите получить запись, где pid равен нулю, попробуйте следующее:
SELECT * FROM `forums_posts` WHERE pid IS NULL ORDER BY pid DESC LIMIT 0,50
Мы не можем использовать < > и еще один такой оператор с IS NULL.
Условие НЕДЕЙСТВИТЕЛЬНО или НЕДЕЙСТВИТЕЛЬНО. Не существует ‘pid< НУЛЕВОЙ’.
SELECT * FROM forums_posts WHERE pid IS NULL ORDER BY pid DESC LIMIT 0,50
Попробуй это
ВЫБРАТЬ ИЗ table_name
ГДЕ ИДЕНТИФИКАЦИОННЫЙ НОМЕР ПО ИДЕНТИФИКАТОРУ DESC LIMIT 0,50
Вы используете неправильный запрос: pid < IS NULL
ничего
Либо это будет
SELECT * FROM `forums_posts` WHERE pid IS NOT NULL ORDER BY pid DESC LIMIT 0,50 // if you don't want NULL value
ИЛИ ЖЕ
SELECT * FROM `forums_posts` WHERE pid IS NULL ORDER BY pid DESC LIMIT 0,50 // if you want only NULL value
В
SELECT * FROM `forums_posts` WHERE pid < IS NULL ORDER BY pid DESC LIMIT 0,50
Так должно быть pid < IS NULL
Потому что в SQL каждый отдельный NULL отличается от другого значения NULL. Для этой цели мы не можем использовать <> как бы мы использовали для других.