2015-04-19 3 views
1

Я использую MySQL 5.0. Я пытаюсь сбросить и воссоздать триггер. Когда я падаю на курок он говорит: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// 
+0

Вы искали данные кода ошибки? – MTahir

ответ

1

Вы должны упасть на спусковой крючок, как это:

USE db5; 
DROP TRIGGER ads_delete; 

Ваш триггер находится в схеме DB5.

EDIT:

Как ОП отметил, что проблема

BEFORE INSERT ON ads 

т.е. он пытается создать два триггера с той же самой инструкции. (Возможно, копия)

+0

Спасибо U.But я нашел проблему. Когда я копирую/вставляю свой существующий триггер insert, я неожиданно создал два триггера с одной и той же инструкцией «BEFORE INSERT ON ads». Спасибо U в любом случае. Я думаю, что этот вопрос следует удалить. –

+0

@Jeff_Alieffson: - Я обновил свой ответ с помощью решения, которое сработало для вас. Я не уверен, что вы должны удалить его или нет, но да, это может помочь кому-то в будущем иметь такую ​​же проблему. –

+0

ОК. Рахул. Моя ошибка может помочь кому-то другому. Так что я остался. –

0

Я нашел ошибку. Причина была в моей неосторожности. Я копировать/вставить мой ВСТАВИТЬ курок, когда изменивший имя триггера из ads_insert в ads_delete, я забыл изменить ДО INSERT ON объявления в ПЕРЕД УДАЛИТЬ ПО объявлений

Спасибо всем.