# 1442 - Невозможно обновить таблицу table_name в хранимой функции / триггере, потому что она уже используется оператором, который вызвал эту хранимую функцию / триггер - PullRequest
0 голосов
/ 09 апреля 2019

Мне нужно изменить поле, и триггер 1 будет выполнен, и этот триггер вызовет триггер 2, который должен удалить данные из таблицы триггера 1, и я получу следующую ошибку, но по отдельности триггеры работают хорошо, когда вместе 2 броскамне ошибка.

Ошибка

Не удается обновить таблицу 'имя_таблицы' в сохраненной функции / триггере, поскольку она уже используется оператором, который вызвал эту сохраненную функцию / триггер.

Триггер 1

DELIMITER $$
CREATE TRIGGER AU_VEH after update ON vehiculos_vehiculos_aparcados
FOR EACH ROW 
BEGIN
  IF new.estado = 3 THEN BEGIN
    INSERT INTO vehiculos_registro_vehiculos_aparcados VALUES(null, old.patente, old.hora_entrada, old.hora_salida, new.estado, old.total);
  END; END IF;
END$$
DELIMITER ;

Триггер 2

CREATE TRIGGER AI_Reg_Veh AFTER INSERT
on vehiculos_registro_vehiculos_aparcados for EACH ROW
DELETE FROM vehiculos_vehiculos_aparcados WHERE vehiculos_vehiculos_aparcados.estado=3;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...