MySql AFTER UPDATE триггер с именами полей

У меня есть две таблицы, перечисленные ниже. Когда поле обновляется на «переключателях», мне нужно вставить запись в «switch_updates», которая включает имя обновленного поля, старое значение и новое значение.

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

---------------------
|  switches         |
---------------------
|  id               |
|  name (varchar)   |
|  functional (int) |
---------------------


-----------------------------
|  switch_updates           |
-----------------------------
|  id                       |
|  field_name (varchar)     |
|  field_original (varchar) |
|  field_new (varchar)      |
-----------------------------

Триггер

CREATE TRIGGER SwitchUpdate_Trigger
AFTER UPDATE ON switches
FOR EACH ROW
BEGIN
    INSERT into switch_updates (id, switch_id, field_name, field_original, field_new)
    VALUES 
        (
            null,
            NEW.id, -- switch_id
                  , -- field_name?
            OLD.field_value, --?
            NEW.field_value, --?
        );
END;
6
задан brpyne 12 December 2011 в 20:58
поделиться