2

MySQL を使用してテーブル内のデータを複製する必要がありますが、このデータは他のテーブルと 1 対多の関係にあります。

表 A [1]---------[N] 表 B [1]---------[N] 表 C

したがって、テーブル 1 からエントリを複製し、他のテーブルの関連データと同じエントリを複製する必要があります。

これが1対1の関係であればこれを行うことができますが、この状況ではどうすればよいか本当にわかりません.

4

1 に答える 1

0

これはどうですか?

INSERT INTO TABLE A1 (COL1, COL2, COL3)
SELECT * FROM TABLE A
[WHERE CONDITION]

INSERT INTO TABLE B1 (COL1, COL2, COL3)
SELECT B.COL1, B.COL2, B.COL3
    FROM TABLEB AS B
    INNER JOIN TABLEA
    ON [RELATIONSHIP]
    [WHERE CONDITION] --SAME AS THE FIRST

   INSERT INTO TABLE C1 (COL1,  COL2, cOL3)
   SELECT C.COL1,  C.COL2, C.COL3
       FROM TABLEC AS C
       INNER JOIN TABLEB
       ON [RELATIONSHIP C=B]
       INNER JOIN TABLEA
       ON [RELATIONSHIP B=A]
       [WHERE CONDITION] --SAME AS THE FIRST

編集:これに従って自動インクリメントの値を指定できます: http://forums.mysql.com/read.php?10,167702,167717#msg-167717

于 2012-12-05T23:05:35.320 に答える