Написать/починить триггер для 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 после вставки или обновления данных. Опущены, казалось бы, ненужные столбцы в таблицах.