我有三个关系表,数据在 MYSQL db1 中,相同的模式数据在 MYSQL db2 中,我需要将数据合并到 MYSQL db2 中。正确的做法是什么?
我应该单独转储 db1 表吗(可以选择在 id 中添加一个大数字,这样数据就不会冲突)?
答案1
您可以通过执行以下操作来简单地附加数据:
INSERT INTO `db2`.`table` SELECT NULL, `col2`, `col3` FROM `db1`.`table`
这假设架构的第一列是自动递增 ID。通过为此选择 NULL,将生成新键,所有其他列应单独选择,并将形成这些新记录的其余部分。
如果您按 ID 对上述语句中的选择进行排序,并且它们是连续的,那么您可以简单地将第一个插入的 ID 值添加到其他表的外键中。