MySQL中使用带循环的触发器的多个insert语句
我有三张桌子A、B和C 表中有列辅助,Aname B表有Bid、Aid、Aname、Cid、Cname C表有Cid、Cname C表是静态表,有6条记录(将来可能会增加) 要求是,当数据插入表A时,应使用Aid更新表B,并且所有CID的每一行的最大投标值均为+1 对于表中插入的每个记录,B表中应该插入6条记录(因为C表中有6条记录)MySQL中使用带循环的触发器的多个insert语句,mysql,database-design,triggers,Mysql,Database Design,Triggers,我有三张桌子A、B和C 表中有列辅助,Aname B表有Bid、Aid、Aname、Cid、Cname C表有Cid、Cname C表是静态表,有6条记录(将来可能会增加) 要求是,当数据插入表A时,应使用Aid更新表B,并且所有CID的每一行的最大投标值均为+1 对于表中插入的每个记录,B表中应该插入6条记录(因为C表中有6条记录) 在MySQL中使用触发器可以实现这一点吗?是的,使用触发器可以实现这一点 CREATE TRIGGER b_update_trigger BEFORE INSER
在MySQL中使用触发器可以实现这一点吗?是的,使用触发器可以实现这一点
CREATE TRIGGER b_update_trigger BEFORE INSERT ON b
FOR EACH ROW BEGIN
...
END
但是您确实不应该复制数据。您应该在表A中保留AName
,在表C中保留CName
然后,您可以加入它们以获得相同的结果:
SELECT b.bid, a.aid, a.aname, c.cid, c.cname FROM b
INNER JOIN a
ON a.aid = b.aid
INNER JOIN c
ON c.cid = b.cid
你真的尝试过什么吗?是的,我们得到了一个类似于这里解释的解决方案。