Простая проверка пустого результата запроса SELECT - PullRequest
55 голосов
/ 21 мая 2010

Может ли кто-нибудь указать, как проверить, возвращает ли запрос на выборку непустой набор результатов?

Например, у меня следующий запрос:

SELECT * FROM service s WHERE s.service_id = ?;

Должен ли я сделать что-то вроде следующего:

ISNULL(SELECT * FROM service s WHERE s.service_id = ?)

проверить, не является ли набор результатов пустым?

Ответы [ 12 ]

0 голосов
/ 16 февраля 2015

В моем sql используется информационная функция

select FOUND_ROWS();

он вернет нет. строк, возвращаемых запросом выбора.

0 голосов
/ 21 мая 2010
SELECT count(*) as count FROM service s WHERE s.service_id = ?;

проверка, если число == 0.

Более барокко:

выберите случай, когда (SELECT count (*) как count ОТ службы s ГДЕ s.service_id =?) = 0 тогда "Нет строк, братан!" иначе «Вы получили данные!» заканчиваются как stupid_message;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...