Задать вопрос
@uuuu

Как удалять в триггерах MySQL?

Не получается удалить строки, данные count которых меньше или равны 0. При обновлении строки выдает ошибку 1442.
CREATE TRIGGER `tr1` AFTER UPDATE ON `test`
FOR EACH ROW 
BEGIN
DELETE FROM `test` WHERE `count`<=0;
END;
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Тестировщик на Python
    9 месяцев
    Далее
  • Академия Eduson
    Python-разработчик
    9 месяцев
    Далее
  • Merion Academy
    Базы данных с нуля
    2 месяца
    Далее
Решения вопроса 1
@bkosun
Никак, это невозможно. Нельзя делать правки в таблице, для которой создан триггер (кроме правок текущей строки):

In general, you cannot modify a table and select from the same table in a subquery.


https://dev.mysql.com/doc/refman/8.0/en/subquery-r...

https://bugs.mysql.com/bug.php?id=17549

Используйте планировщик событий, если действие должно быть выполнено на стороне MySQL
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы