我有两个相同的表位于两个相同的数据库(具有不同的名称).我想合并这两个表,但他们的主键在其他表中使用,
这些表看起来像这样:
表A.
id column1 column2 column3
___ ________ _______ ________
1 text text text
2 text text text
3 text text text
表B.
id column1 column2 column3
___ ________ _______ ________
2 text text text
3 text text text
4 text text text
链接到表A的表
链接A.
id column1 tableA_ID
___ ________ _______
1 text 2
2 text 3
3 text 4
链接B.
id column1 tableA_ID
___ ________ _______
1 text 3
2 text 3
3 text 2
请注意,这些表具有相同的id,这意味着当我进行合并时,我必须更改第二个表的id.请记住,第二个表的主键用于其他表.
我写了这个查询来合并这两个表:
INSERT INTO db_A.`Table_A`(`column2`,`column3`)
SELECT `column2`,`column3` FROM db_B.`Table_B`;
此查询将正确地将第二个表的记录复制到第一个表.
现在我想移动与表B链接的表的数据,我可以使用相同的查询,但现在外键不匹配,因为它们链接的ID已被更改.
如何更新它们以便ID再次匹配?
注意:我没有对这些表的ON UPDATE CASCADE约束
我希望这是有道理的,我会尝试改进这个问题,以便每个人都理解它.
数据库信息
Type : MySQL
Engine: MyISAM