猿问

请教一个关于mysql触发器问题


CREATE TRIGGER t_produce_company_brand_q
AFTER INSERT ON tp_produce
FOR EACH ROW
BEGIN
   update tp_produce p set p.brand = (select c.name from tp_company c where   c.id = new.company_id),p.address = (select c.address from tp_company c where c.id =
 new.company_id);
END;


 

当tp_produce插入新数据时,根据新数据的company_id 字段查询 tp_company 表中的 name 和address 更新 该条数据。

 

请问我这触发器有写错吗?为什么插入新数据时提示下面的错误:

开满天机
浏览 674回答 1
1回答

慕田峪9158850

在调用这个触发器的时候,这张表的数据被其他的触发器或者存储过程占用了。您看是否可以排查一下有其他的存储过程或者触发器也调用了这张表?
随时随地看视频慕课网APP

相关分类

MySQL
我要回答