Написать/починить триггер для MySQL

Нужно чтобы этот триггер считал общую сумму покупки(total_price) в таблице purchase_data то есть умножал количество(product_count) из таблицы purchase_data на цену товара(product_price) из таблицы product.Необходимо, чтобы после вставки или обновления значений в таблице purchase_data поле total_price также обновлялось.

Много всего уже перепробовал вот пример

CREATE DEFINER=`root`@`localhost` TRIGGER `calculate_total_price` AFTER INSERT ON `purchase_data` FOR EACH ROW BEGIN
UPDATE purchase_data pd
SET total_price = (
    SELECT p.product_price * NEW.product_count 
    FROM product p
    WHERE p.product_id = NEW.product_id
)
WHERE pd.purchase_id = NEW.purchase_id;
END

Но постоянно одна и та же ошибка

Can't update table 'purchase_data' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

Помогите исправить это триггер или написать новый уже не знаю что делать

table product:

product_id   product_cost
1                100  
2                250
3                370
..

table purchase_data:

purchasedata_id   product_count product_id  total_price
1                       2            3         370*2
2                       1            2         250*1
3                       3            1         100*3
..

Мне нужен триггер, который будет вычислять total_price после вставки или обновления данных. Опущены, казалось бы, ненужные столбцы в таблицах.


Ответы (0 шт):