Как вставить строку в таблицу, когда событие обновления происходит в другой таблице? - PullRequest
0 голосов
/ 23 февраля 2020

У меня есть две таблицы с именами del_stu и del_emp .

enter image description here

enter image description here

Я хочу вставить строку в таблицу del_emp при обновлении таблицы del_stu . и я хочу вставить строку, которая обновляется с помощью del_emp . Я создал триггер для этого следующим образом.

create trigger before_update_stu
before update
on del_stu
for each row
begin
    insert into del_emp
    set
    del_emp.emp_id = del_stu.stu_id,
    del_epm.emp_name = del_stu.stu_name,
    del_emp.salary = stu_emp.salary;
end

Но это показывает следующую ошибку.

ERROR 1054 (42S22): Unknown column 'del_epm.emp_name' in 'field list'

Итак, как выполнить эту задачу? Это значит, как изменить мой триггер, чтобы выполнить эту задачу? Если вы не понимаете задачу,

  • Задача

Я хочу вставить строку (обновленную таблицей del_stu) в del_emp таблица

Ответы [ 2 ]

0 голосов
/ 23 февраля 2020

Для этого нужно использовать ключевое слово " OLD ". Сработал следующий код.

create trigger before_update_stu
    before update
    on del_stu
    for each row
    begin
        insert into del_emp
        set
        emp_id = OLD.stu_id,
        emp_name = OLD.stu_name,
        salary = OLD.salary;
    end
0 голосов
/ 23 февраля 2020

Кажется, это проблема орфографии для этого конкретного столбца. Вы должны иметь del_emp.emp_name. В противном случае синтаксис выглядит нормально для MySQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...