Как проверить, существуют ли данные уже в таблице?

#mysql #stored-procedures #database-design

#mysql #хранимые процедуры #база данных-дизайн

Вопрос:

итак, у меня возникла проблема с проверкой, есть ли в таблице какие-либо данные

Итак, я закодировал следующее в Mysql

 DECLARE ifnumber INT DEFAULT 0;
SELECT CASE WHEN id IS NULL 
    THEN 1 ELSE 0 END AS result INTO ifnumber FROM { table } WHERE { column } = { data };
IF ( ifnumber = 1 ) THEN
    blah blah blah
END IF; 
 

Это работает, когда таблица содержит данные, но не работает, когда таблица имеет значение null.

какая-нибудь помощь?

Ps: Я пытался выполнить IF с помощью функции Exists(), но у меня не получилось.

Комментарии:

1. Таблицы не могут «быть нулевыми», столбцы могут. Откуда id они взялись?

Ответ №1:

EXISTS это не функция…

Но если вы просто хотите проверить, есть ли какая-либо запись, соответствующая WHERE предложению в таблице, вы действительно можете использовать EXISTS .

 IF EXISTS (SELECT *
                  FROM elbat
                  WHERE ...) THEN
  ...
END IF;