Можно ли выполнить SQL запрос с игнорированием триггеров?

программирование MySQL базы данных sql

Есть таблица с триггерами до/после вставки, успешно работают. Но есть задача чтоб триггер не выполнялся при ручном выполнении SQL запроса, есть ли какие либо инструкции, указывающие произнорировать триггер?
MySQL

Примечание:
Андрей Архангельский, ну Вы просто немного не знаете специфику где он используется, все сделано верно и работает. А "Запрос к триггеру никакого отношения не имеет" -какзаз и имеет, так как запрос зартагивает всю таблицу, не вижу смысл в игре слов.

Примечание:
"Ну наверное, я за 25 лет работы с базами данных не понял ничего в триггерах." - может Вы и профессионал, но НЕ ТЕЛЕПАТ!
Триггер вставляет значения из одной таблицы одной БД в таблицу другой БД! И надо выполнить запрос только на одной БД, чтоб он не затронул вторую. Наверное раз я пишу такой вопрос, я ведь знаю что никакой проблемы с целостностью БД не будет?

Примечание:
Если уже поробнее написать, то есть таблица с ценами товара(ERP система), есть другая БД которая используется для сайта. Если меняется цена товара - то даные об изменениях заносятся в БД сайта(отдельная таблица с дельтой цен) и отображается динамика изменения цен на товар, цена товара в ГРН, а покупается товар в УЕ, и цены в ЕРП нужно изменить в связи с подорожанием доллара, но задача чтоб плавание курса не отображалось как изменение цены товара, поскольку цена в УЕ не менялась.
Неужели за 25 лет небыло подобных задач? (раз уж решили задавить меня авторитетом)
Ответы:
Нет таких инструкций. Но можно модифицировать триггер, см. ссылку.
Запрос к триггеру никакого отношения не имеет. Триггер срабатывает на изменение состояние таблицы, и когда у тебя проблемы с запросом, то лучше проверить правильность работы триггеров, чем их отключать
"Андрей Архангельский, ну Вы просто немного не знаете специфику где он используется"
Ну наверное, я за 25 лет работы с базами данных не понял ничего в триггерах.
И так смотрим простой запрос:
Insert into Table(Field) values(val);
Что он делает? Правильно вставляет новую строку со значением Field=val
Что будет вставлено в таблицу Table? То что сделает триггер! Например, он просто вставит в ДРУГУЮ ТАБЛИЦУ ДРУГОЕ ЗНАЧЕНИЕ, а в этой таблице ничего не появиться.
Зависит триггер от запроса - НЕТ! Зависит триггер от события в таблице - ДА!
Не каждый запрос затрагивает всю таблицу, не каждый запрос затрагивающий ВСЮ ТАБЛИЦУ вызывает события в таблице, и следовательно вызывает срабатывание триггера.
То что ты хочешь сделать - это нарушение целостности БД в ручном режиме. Ошибки сам будешь искать или обратишься за помощью на ВИО?


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.