2016-07-06 2 views
0

Проблема заключается в следующем: я должен каждый раз записывать данные в физический файл после обновления определенной таблицы.Mysql: Запись в файл журнала после вставки в таблицу

Обычно я хотел бы сделать это с помощью триггера, например:

CREATE TRIGGER log_to_file AFTER INSERT ON LOG 
BEGIN 
... 
END 

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

+0

ознакомьтесь с ключевыми словами 'NEW' и' OLD' – mic4ael

ответ

1

Не уверен, что вы хотите. По моему пониманию, вы хотите передать строку, которая только что вставлена. Вы можете ссылаться на это с помощью NEW в коде. Так что это может сработать для вас.

CREATE TABLE LOG 
    (
    ID INT(11) NOT NULL, 
    Description NVARCHAR(50) NULL, 
    ) 

    CREATE TRIGGER log_to_file AFTER INSERT ON LOG 
    FOR EACH ROW 
    BEGIN 

/* Logic can be put here for each inserted row */ 

    INSERT INTO any_table (ID,Description,Date) VALUES(New.ID,New.Description,SYSDATE()) 

    END 
Смежные вопросы