Проблема триггера MYSQL -Очень легко - PullRequest
0 голосов
/ 07 января 2011
    DELIMITER $$
CREATE TRIGGER stock_empty AFTER UPDATE on products
    FOR EACH ROW
    DELETE FROM products WHERE stock <=0;
    END$$

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

Спасибо за любую помощь

1 Ответ

2 голосов
/ 07 января 2011

Если это так просто, почему вы не решили это сами?

DELIMITER ||
CREATE TRIGGER stock_empty AFTER UPDATE on products
FOR EACH ROW BEGIN
DELETE FROM products WHERE stock <=0;
END ||

[править]

Вот так должен выглядеть правильный синтаксис, однако есть еще одна вещь:

Хранимая функция или триггер не может изменить таблицу, которая уже используется (для чтения или записи) оператором, который вызвал функцию или триггер.

From:http://dev.mysql.com/doc/refman/5.5/en/stored-program-restrictions.html

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