gpt4 book ai didi

mysql trigger 存储触发器已被调用存储触发器的语句使用

转载 作者:IT老高 更新时间:2023-10-29 00:18:26 24 4
gpt4 key购买 nike

我想设置一个触发器,以便如果在更新时预测字段 = 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.

这是正确的设置方式吗?

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 ;

最佳答案

MySQL 触发器无法操作分配给它们的表。所有其他主要的 DBMS 都支持此功能,因此希望 MySQL 很快会添加此支持。

http://forums.mysql.com/read.php?99,122354,240978#msg-240978

关于mysql trigger 存储触发器已被调用存储触发器的语句使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1582683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com