2013-10-10 6 views
0

У меня есть триггер на таблице, которая запускается, когда таблица обновляется.mySql триггер срабатывания только при обновлении определенного столбца в таблице

Проблема в том, что мне нужен этот триггер для запуска только при обновлении определенного столбца. Прямо сейчас триггер запускается, когда обновляется любой столбец (я усердно изучил).

Как я могу заставить триггер запускать только при обновлении определенного столбца. Например:

col1 | col2 
----------- 

триггер должен работать только тогда, когда col1 обновляется и нет, если какой-либо другой столбец обновляется. Как я могу это сделать?

ответ

2

MySQL не поддерживает запуск триггера при изменении конкретного столбца. Но вы можете проверить, не изменился ли конкретный столбец в вашем триггере, как это

delimiter $$ 
create trigger col1_trigger before insert on your_table 
for each row begin 
    if NEW.col1 <> OLD.col1 
    then 
    ... 
    end if; 
end 
$$ 
+0

Конечно, этот метод не будет учитывать изменения от NULL до значения или наоборот. –

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