将 mySql 数据库表复制到另一个具有不同表结构的数据库表
Posted
技术标签:
【中文标题】将 mySql 数据库表复制到另一个具有不同表结构的数据库表【英文标题】:Copy mySql database table to another database table having different table structure 【发布时间】:2019-03-17 09:14:42 【问题描述】:我有两个 mysql 数据库 db1 和 db2。我需要将数据从 db1 复制到 db2。两个数据库都在同一个用户下。两个数据库的表结构不同。
表格中的列结构不同。
例子
db1.Table1
-------------------------------------------------------
| id | SessionID | Product1_Qty | Product2_qty |
-------------------------------------------------------
| 1 | 12345 | 2 | 1 |
-------------------------------------------------------
db2.Table1(所需输出)
--------------------------------------------
| id | SessionID | Product | Qty |
--------------------------------------------
| 1 | 12345 | Product_1 | 2 |
--------------------------------------------
| 2 | 12345 | Product_2 | 1 |
--------------------------------------------
编辑:对于 db1.Table1 中的每个 sessionID(1 行),db2.Table1 中应该有 2 个相同的 sessionID(2 行)
我需要 SQL 脚本将数据从 db1.Table1 复制到 db2.Table1。
实现这一目标的最佳方法是什么?
【问题讨论】:
【参考方案1】:您可以使用下面的 SQL 来执行此操作
MySQL> insert into db2.Table1 select * from db1.Table1;
【讨论】:
db1.Table1 中的列与 db2.Table1 不同 是的,你已经提到过。试试这个查询,让我知道【参考方案2】:试试这个
select * into databaseName.dbo.table1name from databaseName.dbo.table2name
你能评论一下这是否有效
【讨论】:
【参考方案3】:如果您有不同数量的列,您可以使用下面的查询。
INSERT INTO db1.table1 (`column1`, `column2`) (SELECT `column3`, `column3` FROM db2.table2)
【讨论】:
以上是关于将 mySql 数据库表复制到另一个具有不同表结构的数据库表的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 MySQL 中第三个表中存在的 id 将数据从一个表复制到另一个表?