MySQL:将Database1.TableA中的列添加到Database2.TableA

问题描述:

需要一些帮助合并前Web开发团队的更改。他们在开发站点的“Database1.TableA”中创建了四个新列。

是否有SQL查询将结构和数据从“Database1.TableA”中的四个新列复制到“Database2.TableA”中?MySQL:将Database1.TableA中的列添加到Database2.TableA

感谢

+0

复制表结构或数据? – Vatev 2013-03-26 16:00:30

+0

两者,如果可能的话。 – jarrodparkes 2013-03-26 16:01:39

应该用CREATE TABLE ... SELECT语法很容易成为可能。

+0

我不确定是否会产生我以前遇到的同样问题。因为我有一个类似的问题试图使用phpMyAdmin来删除Database2.Table1,并简单地复制/创建Database1.Table1。它不会允许我删除Database2.Table1,因为“外键约束失败”。 – jarrodparkes 2013-03-26 16:19:38

我不知道自动复制结构的方法。数据可以更新为

UPDATE new_db.table n 
JOIN old_db.table o on o.primary_key_col = n.primary_key_col 
SET n.col1=o.col1,n.col2=o.col2,... 
+0

即时通讯尝试使用col1 ='autorelist'进行测试;但是,我收到错误:#1054 - '字段列表'中的未知列'n.autorelist'。这是有道理的,因为'autorelist'以前不存在于新表中。如何克服这一点? – jarrodparkes 2013-03-26 16:16:09

+0

您必须添加新列1-st。这只会将数据从一个表更新到另一个表。 – Vatev 2013-03-26 16:24:40

+0

列现在存在,但仍无法获取要复制的值。这个就足够了。谢谢。 – jarrodparkes 2013-03-26 16:38:05