mysql向我抛出一个IF错误,我该怎么办


create trigger TR_03
before update
on empleados
for each row
begin
if updating('idempleado') then
insert into controlCambio values("superusuarioalber",now(), old.idempleado, new.idempleado);
end if;
if updating('nombre') then
insert into controlCambios values("superusuarioalber",now(), old.nombre, new.nombre);
end if;
if updating('documento') then
insert into controlCambios values("superusuarioalber",now(), old.documento, new.documento);
end if;
if updating('cargo') then
insert into controlCambios values("superusuarioalber",now(), old.cargo, new.cargo);
end if;
end TR_03;

您几乎已经做到了,在mysql中不允许使用TR_03。我还认为updating((是数据库中的一个函数所以使用

DELIMITER $$
create trigger TR_03 
before update on empleados 
for each row 
begin 
if updating('idempleado') then 
insert into controlCambio values("superusuarioalber",now(), old.idempleado, new.idempleado); 
end if; 
if updating('nombre') then 
insert into controlCambios values("superusuarioalber",now(), old.nombre, new.nombre);   
end if; 
if updating('documento') then 
insert into controlCambios values("superusuarioalber",now(), old.documento, new.documento); 
end if; 
if updating('cargo') then 
insert into controlCambios values("superusuarioalber",now(), old.cargo, new.cargo); 
end if; 
end $$
DELIMITER ;

相关内容

最新更新