Я пытаюсь вставить строки в таблицу с помощью триггера или хранимой процедуры без записи каких-либо данных в двоичный журнал.Это возможно?Я знаю, что для обычных подключений вы можете установить SQL_LOG_BIN=0
, чтобы отключить двоичное ведение журнала для подключения, но я не смог заставить это работать для триггеров.Если есть способ сделать это с помощью объединенной таблицы механизмов, это также будет нормально.
edit:
Я могу почти выполнить это с помощью хранимой процедуры:
CREATE PROCEDURE nolog_insert(`id` INT, `data` blob)
BEGIN
SET SESSION SQL_LOG_BIN = 0;
INSERT INTO `table` (`id`, `data`) VALUES (id, data);
SET SESSION SQL_LOG_BIN = 1;
END
Я вставляю запись, вызывая процедуру из приглашения mysql:
call nolog_insert(50, 'notlogged');
Как и ожидалось, запись (50, 'notlogged')
вставляется в table
, но не записываетсяв двоичный журнал.
Однако я хочу запустить эту процедуру из триггера.При использовании триггера:
create trigger my_trigger before insert on blackhole_table for each row call nolog_insert(new.id, new.data);
Данные одновременно вставляются в table
и записываются в двоичный журнал.