Можно ли запустить триггер mysql как для событий вставки, так и для обновления таблицы?
Я знаю, что могу сделать следующее
CREATE TRIGGER my_trigger
AFTER INSERT ON `table`
FOR EACH ROW
BEGIN
.....
END //
CREATE TRIGGER my_trigger
AFTER UPDATE ON `table`
FOR EACH ROW
BEGIN
.....
END //
Но как я могу
CREATE TRIGGER my_trigger
AFTER INSERT ON `table` AND
AFTER UPDATE ON `table`
FOR EACH ROW
BEGIN
.....
Возможно ли это, или надо использовать 2 триггера? Код одинаков для обоих, и я не хочу его повторять.
В ответ на запрос @Zxaos, поскольку у нас не может быть операторов И / ИЛИ для триггеров MySQL, начиная с вашего кода, ниже приведен полный пример достижения того же.
1. Определите триггер INSERT:
2. Определите триггер UPDATE.
3. Определите общую ПРОЦЕДУРУ, используемую обоими этими триггерами:
Вы заметили, что я позабочусь о восстановлении разделителя, когда закончу с определением триггеров и процедур.
источник
IN table_row_id VARCHAR(255)
в этом случае? Я имею в виду, как вы определяете, какая строка будет вставлена или обновлена?к сожалению, мы не можем использовать в MySQL после описания INSERT или UPDATE , как в Oracle
источник