MySQL8.0 создает триггер

Обновление 2021.12.5
В ходе теста было обнаружено, что после добавления ссылающейся новой строки в качестве оператора newtuple возникает ошибка 42000. После проверки официальной документации mysql8.0 были внесены улучшения. Код выглядит следующим образом:

delimiter //

create trigger xxx
before insert on xx
for each statement
begin
set @i := 1;
set @a := (select a from xxx where x = NEW.x);
end//

delimiter ;

Удалите ссылки и используйте NEW для обозначения новых строк.


delimiter //

create trigger xxx
before insert on xx
referencing new row as newtuple
for each statement
begin
set @i := 1;
set @a := (select a from xxx where x = newtuple.x);
end//

delimiter ;

разделитель //
Переопределить символ идентификации разделителя (первоначально ";")

set @a := 1;
Определить пользовательские переменные
Примечание. Чтобы присвоить значения, используйте «:=", «=" — оператор сравнения

разделитель;
восстановить исходное распознавание разделителя

Guess you like

Origin blog.csdn.net/weixin_45704680/article/details/121725138
Recommended