Rus*_*uss 11 mysql sql triggers mysql-error-1442
我想设置一个触发器,以便在更新时预测字段为= 3,然后触发器将值更改为4并将其保存在数据库中.触发器如下.
出于某种原因,我不断收到错误说:
#1442 - Can't update table 'tzanalytic\_forecast\_cached' in stored
function/trigger because it is already used by statement which invoked
this stored function/trigger.
Run Code Online (Sandbox Code Playgroud)
这是正确的方式吗?
delimiter $$
CREATE TRIGGER no_BoW BEFORE UPDATE ON t FOR EACH ROW
BEGIN set @prediction = new.prediction;
UPDATE t SET t.prediction = (SELECT IF(@prediction = '3', '4', @prediction)) WHERE t.event_id = new.event_id AND t.price_tier = new.price_tier; END;
$$ delimiter ;
Run Code Online (Sandbox Code Playgroud)
Cor*_*use 41
MySQL触发器无法操纵它们分配给的表.所有其他主要DBMS都支持此功能,因此希望MySQL能够尽快添加此支持.
http://forums.mysql.com/read.php?99,122354,240978#msg-240978