Я хочу, чтобы сумма была обновлена, если запись находится в таблице, иначе вставляется новая.
delimiter $$
CREATE TRIGGER t
BEFORE INSERT
ON PARTS
for each row
BEGIN
if exists (SELECT Part_name FROM PARTS where part_name = new.part_name) then
UPDATE PARTS SET amount=amount+NEW.amount WHERE
Part_name=NEW.Part_name;
end if;
END $$
delimiter ;
Когда я пытаюсь:
mysql> insert into PARTS(Part_name,amount,Storage_ID) values('barley',1000,1);
Тогда я получилэта ошибка:
ОШИБКА 1442 (HY000): невозможно обновить таблицу 'PARTS' в сохраненной функции / триггере, поскольку она уже используется оператором, который вызвал эту сохраненную функцию / триггер.
В чем моя вина?Есть идеи?