如何为已使用的表创建触发器

时间:2014-08-17 08:04:32

标签: mysql sql triggers

CREATE TRIGGER abc
after insert ON visadetails
FOR EACH ROW update visadetails SET VisaId=concat(new.Occupation,'-',new.Vid);

insert into visadetails (Occupation,Destination) value("student","rome");

创建触发器m后无法插入值,它会显示以下错误消息

  

#1442 - 无法更新表格'画廊'在存储的函数/触发器中,因为它已被调用此存储函数/触发器的语句使用。

1 个答案:

答案 0 :(得分:0)

不需要更新(由于缺少concat()子句,btw会更新表中的所有行以及新行where的结果)。

CREATE TRIGGER abc
after insert ON visadetails
FOR EACH ROW 
   SET new.VisaId=concat(new.Occupation,'-',new.Vid);