我需要使用MySQL复制表中的数据,但这些数据与其他表有一对多的关系。
表A [1] --------- [N]表B [1] --------- [N]表C
所以我需要做的是从表1复制一个条目,并在其他表中复制相关数据。
如果这是一对一的关系,我能够做到这一点但我真的不知道在这种情况下如何做到这一点。
答案 0 :(得分: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