Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Триггер и его свойства


Автор: Yagmort 20.3.2011, 01:07
Код


CREATE TABLE OBRAZOVANIE
(
    id_obrazovaniya      INTEGER AUTO_INCREMENT,
    obrazovanie         VARCHAR(255) NULL,
    status_delete        enum('да','нет') NULL,
    PRIMARY KEY (id_obrazovaniya)
)ENGINE=InnoDB DEFAULT CHARSET=koi8r;
   CREATE TRIGGER non_delite_obrazovanie BEFORE DELETE
    ON OBRAZOVANIE FOR EACH ROW 
     BEGIN
         UPDATE OBRAZOVANIE 
         SET  obrazovanie=OLD.obrazovanie
             ,status_delete='да' WHERE id_obrazovaniya=OLD.id_obrazovaniya;
    END;

почему не понимаю не работает данный триггер :? хочу изменить запись и внести изменения, перед действием удаления, но почему то не работает... проблему пока не нашел...(

Автор: Akina 20.3.2011, 21:00
Не работает - в смысле всё равно запись удаляется? правильно... с чего ты решил, что триггер ОТМЕНЯЕТ удаление?

Автор: Yagmort 20.3.2011, 22:05
Цитата(Akina @ 20.3.2011,  21:00)
Не работает - в смысле всё равно запись удаляется? правильно... с чего ты решил, что триггер ОТМЕНЯЕТ удаление?

не работает, т.к выдает сообщение, что триггер не дает удалить запись, но запись не изменяет.

Автор: Zloxa 21.3.2011, 10:57
Цитата(Akina @  20.3.2011,  21:00 Найти цитируемый пост)
с чего ты решил, что триггер ОТМЕНЯЕТ удаление? 

Я прально припоминаю что при попытке модификации таблицы из ROW триггера на нее, Мася поднимает эксепшн? 
Тогда делет отменяется. Впрочем как и аптдейт и все, что ему предшествовало.

Автор: Yagmort 23.3.2011, 21:39
Цитата(Zloxa @ 21.3.2011,  10:57)
Цитата(Akina @  20.3.2011,  21:00 Найти цитируемый пост)
с чего ты решил, что триггер ОТМЕНЯЕТ удаление? 

Я прально припоминаю что при попытке модификации таблицы из ROW триггера на нее, Мася поднимает эксепшн? 
Тогда делет отменяется. Впрочем как и аптдейт и все, что ему предшествовало.

Да все верно, но я хочу чтобы было чисто редактирование, без исключ.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)