我希望epc
列始终为earnings
/clicks
。为此,我使用了一个AFTER UPDATE触发器来实现。因此,如果我向此表中添加100个点击,我希望EPC会自动更新。
我正在尝试:
CREATE TRIGGER `records_integrity` AFTER UPDATE ON `records` FOR EACH ROW SET
NEW.epc=IFNULL(earnings/clicks,0);
同时遇到了以下错误:
MySQL said: #1362 - Updating of NEW row is not allowed in after trigger
我也尝试使用OLD,但是还是出现了错误。如果我使用BEFORE,那么如果我添加100次点击,它将使用之前的#点击来触发(对吧?)。
我应该怎么做才能实现这个功能?
编辑 - 这里是可能会在此上运行的查询示例:
UPDATE records SET clicks=clicks+100
//EPC should update automatically
set
使用的是“新”的值。 - Gordon LinoffBEFORE
语句如何知道NEW
值。 - kmoney12