Получаем значение вставленной строки в mysql с помощью триггера

#mysql #triggers

#mysql #триггеры

Вопрос:

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

 CREATE TRIGGER employee_insert_trigger AFTER INSERT ON EMPLOYEE

    FOR EACH ROW BEGIN

        //I wan here the value of what was inserted here

    END
  

Ответ №1:

Используйте NEW , как показано ниже. Смотрите Синтаксис триггера и примеры для получения дополнительной информации

 CREATE TRIGGER employee_insert_trigger AFTER INSERT ON EMPLOYEE

FOR EACH ROW 
BEGIN
    SET @some_col = NEW.some_col;
END
  

Комментарии:

1. каким здесь будет значение some_col? вставленная строка? Я никогда не видел ключевое слово «NEW»

2. Итак, если вставленная строка имеет значение sme_col равное 10 (скажем) .. @some_col будет содержать то же значение. Смотрите отредактированный ответ, который включает ссылку на документ MySQL.

Ответ №2:

Если вы вставили только одну строку, LAST_INSERTED_ID()! получит для вас последний идентификатор. Вы можете использовать эту информацию для получения данных об этой строке.

В противном случае, если вы вставили более одной строки, в этом сообщении содержится некоторая информация о выполнении этой процедуры.

Вы также можете использовать NEW для этого.