SQL удаляет строки, когда строки в другой таблице больше нет - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь создать триггер на phpmyadmin.Я хочу удалить все строки из таблицы NEXT_GAME, как только в WAITING_ROOM.

больше не будет строк. Я попробовал следующее решение:

CREATE TRIGGER delete_begin_date AFTER DELETE
ON NEXT_GAME FOR EACH ROW
BEGIN
    IF NOT EXISTS (SELECT * FROM WAITING_ROOM) THEN
        DELETE FROM NEXT_GAME;
    END IF;
END

Я получил следующую ошибку:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 5

Что я сделал не так?

1 Ответ

2 голосов
/ 19 марта 2019

Вам нужен определенный разделитель, чтобы сообщить MySQL, что следующий ; не заканчивает оператор CREATE TRIGGER.

DELIMITER $$
CREATE TRIGGER delete_begin_date AFTER DELETE
ON NEXT_GAME FOR EACH ROW
BEGIN
    IF NOT EXISTS (SELECT * FROM WAITING_ROOM) THEN
        DELETE FROM NEXT_GAME;
    END IF;
-- vv----------------------- Notice this
END$$
DELIMITER ; -- switch back to the regular ;
...