Mysql报error 1442错误
mysql报error 1442错误:Can’t update table ‘xxx’ in stored function/trigger because it is already used by statement which invoked this stored
说明function/trigger中有错误或者mysql没有提供的功能,一般是处理本表时发生错误导致的,MYSQL中触发器中不能对本表进行insert ,update ,delete操作,以免递归循环触发。只可以用set重设new的值,比如update可以用set替代
例如:
delimiter |
create trigger replaceGangcn
before insert on dept
for each row
begin
update dept set name = replace(new.name,’-‘,’ ‘);
end
|
delimiter ;
要将update那句改成set new.name = replace(new.name,’-‘,’ ‘);