SQL - удалить строку, если существует другая таблица - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь удалить строку из таблицы, если другой таблицы не существует.Я попытался использовать следующее утверждение

 IF (NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'user3project3'))
 BEGIN
     DELETE FROM user1table WHERE id=3
 END

Однако я получаю следующую ошибку:

 Unrecognized statement type. (near "IF" at position 0)

Я использую phpMyAdmin с XAMPP, если это имеет значение.Заранее большое спасибо!

1 Ответ

0 голосов
/ 26 ноября 2018

Оператор IF разрешен только в блоках программирования, что на практике означает в хранимых процедурах, функциях и триггерах.

Вы могли бы выразить эту логику в одном запросе:

DELETE FROM user1table
    WHERE id = 3 AND
          NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'user3project3');

Тем не менее, у вас очень сомнительная модель данных, если вы храните отдельную таблицу для каждого пользователя.

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