如何在不同数据库中的2个表/不同列之间移动数据

pri*_*iya 8 mysql

我们将以下场景foo重命名为foo1.

foo.col1已更名为foo1.col11.

foo.col2 已被删除

事实上,这些曾经是类似的表,我想将这些表的数据从A复制到B. 鉴于表/列名称已经发生变化,我将如何进行简单的迁移.

Database 'A'
create table foo {id pk, col1 varchar(255), col2 tinyint(1), col3 datetime);
create table foo_bar1 (id pk, foo_id fk, col4 datetime, col5 varchar(255));

Database 'B'
create table foo1 {id pk, col11 varchar(255), col3 datetime);
create table foo1_bar1 (id pk, foo1_id fk, col4 datetime, col5 varchar(255));
Run Code Online (Sandbox Code Playgroud)

Gry*_*ius 12

你应该能够做到:

INSERT INTO B.foo1 (id, col11, col3) 
 SELECT id,col1,col3 FROM A.foo;

INSERT INTO B.foo1_bar1 (id, foo1_id, col4, col5) 
 SELECT id,foo_id,col4,col5 FROM A.foo_bar1;
Run Code Online (Sandbox Code Playgroud)