MySQL:将列从数据库 1.TableS 添加到数据库 2.TableS

Posted

技术标签:

【中文标题】MySQL:将列从数据库 1.TableS 添加到数据库 2.TableS【英文标题】:MySQL: Add columns from Database1.TableA to Database2.TableA 【发布时间】:2013-03-26 15:56:40 【问题描述】:

在合并前 Web 开发团队的变更时需要一些帮助。他们在“Database1.TableA”中为开发站点创建了四个新列。是否有 SQL 查询可以复制“Database1.TableA”中四个新列的结构和数据进入“Database2.TableA”?

谢谢

【问题讨论】:

复制表结构还是数据? 【参考方案1】:

使用CREATE TABLE ... SELECT 语法应该很容易实现。

【讨论】:

我不确定是否会产生我之前遇到的相同问题。因为我在尝试使用 phpMyAdmin 删除 Database2.Table1 并简单地复制/创建 Database1.Table1 时遇到了类似的问题。它不允许我删除 Database2.Table1,因为“外键约束失败”。【参考方案2】:

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

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,...

【讨论】:

我正在尝试使用 col1 = 'autorelist' 进行测试;但是,我收到错误消息:#1054 - “字段列表”中的未知列“n.autorelist”。这是有道理的,因为“autorelist”以前不存在于新表中。如何克服这个问题? 您必须添加新列 1-st。这只会将数据从一个表更新到另一个表。 列现在存在,但仍无法获取要复制的值。不过,这就足够了。谢谢。

以上是关于MySQL:将列从数据库 1.TableS 添加到数据库 2.TableS的主要内容,如果未能解决你的问题,请参考以下文章

将列从 DGV 添加到 SQL 服务器的问题

Pandas 基于连接将列从一个数据帧添加到另一个数据帧

mysql insert into 或 select into - 将列从 tbl1 复制到 tbl2

将列从一个 datagridview 和结果添加到另一个 datagridview

将列从 varchar 更改为 int

将列从多索引堆叠到单索引