avatar

Как временно отключить триггеры в mysql?

Рейтинг 3.9 из 5. Голосов: 255
Den 7 лет назад
3
,

0


Ответы (3)

Den
avatar
Модератор За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений За 700 сообщений №1 по сообщениям
1026 Mar 10
7 лет назад
Как временно блокировать триггеры в mysql? возможно ли это?
отправить
+ 0

Redy
avatar
За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений
503 Mar 10
7 лет назад
в 5 версии нетвстроенных механизмовно можно ввести специальный флаг-переменную, отвечающую за работу или не работу триггераСхема:
CODE:
CREATE TABLE `users` ( `id` int auto_increment, `name` varchar(15) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `actions` ( `userid` int unsigned NOT NULL, `updated` varchar(45) NOT NULL, PRIMARY KEY (`userid`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ТРИГГЕР :
CODE:
DROP TRIGGER IF EXISTS AddUsers; CREATE TRIGGER AddUsers AFTER INSERT ON usersFOR EACH ROW BEGIN IF (@DISABLE_TRIGGERS IS NULL) then # основное тело INSERT INTO actions VALUES(NEW.id, NEW.name); END IF;END;
нормальная работа триггера:
CODE:
INSERT INTO users(name) VALUES('Masha');
работа с отключенным триггером:
CODE:
BEGIN;SET @DISABLE_TRIGGERS=1;INSERT INTO users(name) VALUES('bbb');SET @DISABLE_TRIGGERS=NULL;COMMIT;
отправить
+ 0

Den
avatar
Модератор За 6 месяцев на форуме За год на форуме За два года на форуме за 10 сообщений За 100 сообщений за 500 сообщений За 700 сообщений №1 по сообщениям
1026 Mar 10
7 лет назад
спасибо за информацию
отправить
+ 0


Чтобы оставить комментарий войдите или зарегистрируйтесь