1

我正在使用 MySQL 5.0。我尝试删除并重新创建触发器。当我放下触发器时,它说:

mysql> drop trigger ads_delete;
ERROR 1360 (HY000): Trigger does not exist

然后我尝试创建具有相同名称的触发器。它说:

ERROR 1359 (HY000): Trigger already exists

这是我的触发器:

delimiter //

create TRIGGER ads_delete
BEFORE INSERT ON ads
FOR EACH ROW
BEGIN
update params set ads_count=ads_count-1, freq_weight=freq_weight-NEW.freq;
END//
4

2 回答 2

2

您需要像这样删除触发器:

USE db5;
DROP TRIGGER ads_delete;

您的触发器位于 db5 模式中。

编辑:

正如 OP 评论的那样,问题是

BEFORE INSERT ON ads

即,他试图用相同的指令创建两个触发器。(可能是复制粘贴问题

于 2015-04-19T06:28:03.797 回答
0

我发现了错误。原因是我的疏忽。我复制/粘贴了我的 INSERT 触发器,当将触发器名称从ads_insert 更改ads_delete时,我忘记将BEFORE INSERT ON ads更改为BEFORE DELETE ON ads

谢谢大家。

于 2015-04-19T06:39:22.407 回答