【发布时间】:2012-11-21 17:28:24
【问题描述】:
我做了一个新的触发器,它必须更新员工的工资。它从餐桌支付中获取 2 个值(现金和月份),并将它们分成“how_much_to_pay”列。
我看了题目: MySQL triggers cannot update rows in same table the trigger is assigned to. Suggested workaround?
但这对我没有帮助,因为他们只使用一张桌子,他们可以毫无问题地放入“新”。
这是我的触发器:
create trigger pay_out before insert on `payment_out`
for each row
then
UPDATE `payment_out` o
INNER JOIN payment p ON p.id_1 = o.id_1 AND o.id2 = p.id2
SET o.`how_much_to_pay` = p.cash / p.months;
end;
$$
这里是表格:
table payment_out
id1
id2
how_much_to_pay
table payment
id1
id2
cash
months
以及错误本身:
1442 - Can't update table payment_out in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
【问题讨论】:
标签: mysql sql database triggers phpmyadmin