-1

テーブルA、B、Cが3つあります。

テーブルには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で可能ですか?

4

1 に答える 1

0

はい、これはトリガーを使用して可能です

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

ただし、実際にはデータを複製しないでください。にとどまる必要ANametable Aあります。CNametable C

次に、それらに参加して同じ結果を得ることができます。

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 に答える