【问题标题】:How to insert data from one database table to another database table?如何将数据从一个数据库表插入到另一个数据库表?
【发布时间】:2015-03-31 15:04:26
【问题描述】:

我要MySQL数据库DB1DB2,DB1在在线服务器,DB2在本地机器(localhost),现在我想使用 SQL QUERY 从 DB1 的名为 db1_table 的表中将一些数据插入到名为 db2_table 的 DB2 表中。那怎么可能呢?

【问题讨论】:

  • 你需要两个连接,$con1 用于DB1 获取数据和$con2 用于DB2 以插入您从DB1 获取的数据

标签: mysql


【解决方案1】:

可以按照@Being Human 的建议创建 2 个同时连接 - 并编写一个查询 - 这将是理想的。但是下面的方法对我有用。

1:从在线服务器制作DB1的转储文件

mysqldump -u <db_username> -h <db_host> -p db_name table_name > backup.sql

2:将转储文件恢复到本地服务器和数据库(将恢复到同一个数据库)

mysql -u<db_username> -p DB_NAME < backup.sql

3:从db1_table插入db2_table

INSERT INTO DB2.db2_table (<col1>, <col2>, <col3>....) 
    SELECT <col1>, <col2>, <col3> ... 
    FROM db1_table;

确保db1_table 上的 SELECT 子查询返回的列映射到 db2_table 中的列

【讨论】:

    【解决方案2】:

    我认为这对于一个 SQL 查询是不可能的。 SQL-Query 只能在一台服务器上执行,他不知道第二台服务器。所以你必须用一个应用程序来做这个,或者你必须使用 MySql Workbench 或 PHPMyAdmin 的导入和导出功能。

    在这里你可以找到一个非常相似的问题:

    insert into a MySQL database on a different server

    希望这会对你有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 2023-04-10
      • 2014-11-21
      相关资源
      最近更新 更多