-1

我有三张桌子A,B和C。

一个表有列 Aid, Aname

B表有Bid、Aid、Aname、Cid、Cname

C表有Cid,Cname

C表是静态表,有6条记录(以后可能会增加)

要求是当数据插入表 A 时,B 表应使用 Aid 更新,并且所有 Cid 的每一行都具有最大 + 1 的 Bid。

A表每插入一条记录,B表应该插入6条记录(因为C表有6条记录)

这在 MySQL 中使用 Trigger 可行吗?

4

1 回答 1

0

Yes this is possible using a trigger

CREATE TRIGGER b_update_trigger BEFORE INSERT ON b
FOR EACH ROW BEGIN
  ...
END

however you really shouldn't duplicate data. You should keep AName in table A and CName in table C.

Then you can join them to get the same result:

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
于 2013-03-27T11:43:05.813 回答