Я хочу создать триггер, который устанавливает новый org_id, когда статус меняется на «stock».
У меня есть 2 таблицы: functionsci с атрибутом org_id и физическое устройство с состоянием. Обновление, которое вызывает триггер, выглядит следующим образом:
UPDATE functionalci f
JOIN physicaldevice d
ON f.id = d.id
SET d.status = 'stock', f.name ="XXX"
WHERE d.id = 2
Когда я пытаюсь запустить триггер, например:
CREATE TRIGGER trig1
AFTER UPDATE ON physicaldevice
FOR EACH ROW
BEGIN
UPDATE functionalci SET org_id=2 WHERE functionalci.id = OLD.id;
END;
У меня появляется эта ошибка: mysql_errno = 1442, mysql_error = Невозможно обновить таблицу 'functionsci' в хранимой функции / триггере, потому что он уже используется оператором, который вызвал эту сохраненную функцию / триггер
Есть ли способ выполнить триггер без изменения UPDATE, который его вызывает?