如何把两个完全相同的mysql数据库合并到另一个数据库中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何把两个完全相同的mysql数据库合并到另一个数据库中相关的知识,希望对你有一定的参考价值。

首先问下.你会哪种导入手段.再之.你会哪种导出方法.然后,按你会的操作呗.
2个数据库是不是同在本地,还是一个本地一个远程?navicat自带数据导入向导,按那个操作就是.
表名不同没关系.字段不统一的话,要在导入时选下映射关系,不然就只有把远程的表下到本地来.
再用insert
into
目标表(字段1,....字段n)
select
a,b,c,d,...n
from
源表的方式写入.
参考技术A 问题一:
insert
into
databaseB
select
*
from
databaseA;
问题二:databaseC是库吗??databaseA,databaseB是表??
那么就
执行
create
table
databaseC.t1
as
select
*
from
databaseA;
create
table
databaseC.t2
as
select
*
from
databaseB;
第三个问题没看懂,就是不能让databaseA和databaseB数据重复吗
-------两个表合并??合并到一个新表吗??

如何合并两个 MySQL 结果?

【中文标题】如何合并两个 MySQL 结果?【英文标题】:How to merge two MySQL results? 【发布时间】:2010-11-23 03:48:58 【问题描述】:

我在具有相同表结构的 2 台不同服务器上执行 2 次查询。 如何在 PHP 中合并 2 个数组?

【问题讨论】:

【参考方案1】:

PDO::query() 返回一个实现Traversable 接口的PDOStatement 对象。SPL 类 IteratorIterator 包装任何 Traversable 以充当 Iterator。 另一个 SPL 类 AppendIterator 可以“连接”迭代器以像单个迭代器一样工作。

<?php
$result1 = $pdo1->query('SELECT * FROM foo');
$result2 = $pdo2->query('SELECT * FROM foo');

$it = new AppendIterator;
$it->append(new IteratorIterator($result1));
$it->append(new IteratorIterator($result2));

foreach($it as $row) 
  echo join(', ', $row), "\n";

【讨论】:

有谁知道如何使这个附加迭代器可搜索? (即可以跳转到此 AppendIterator 中的特定位置以获取数据的子集?【参考方案2】:

看看array_merge。

array array_merge ( array $array1 [, array $... ] )

将一个或多个数组的元素合并在一起,使值 一个附加到前一个的末尾。它返回 结果数组。

如果输入数组有相同的字符串键,那么后面的值 因为该键将覆盖前一个键。但是,如果数组 包含数字键,后面的值不会覆盖原来的 值,但会被附加。

输入数组中带有数字键的值将重新编号为 在结果数组中从零开始递增键。

【讨论】:

【参考方案3】:

请记住,当您查询两个数据库服务器时,除非您对每个记录标识使用 UUID,否则记录的 id 之间会发生冲突(db auto_increment 功能)。

因此,当您不使用 uuid 生成记录的 ids 时,当您将两个数组与结果合并时,您应该标记 wchich 一个来自服务器以避免以后发生冲突。

【讨论】:

以上是关于如何把两个完全相同的mysql数据库合并到另一个数据库中的主要内容,如果未能解决你的问题,请参考以下文章

如何复制mysql数据库到另一台电脑上?

mysql如何把一个表的字段赋值到另一张表?

JAVA,用List做,两个数组中数的合并和去除相同元素

两个网页中的内容,jQuery怎样把其中一个网页中标签中的内容复制到另一网页中显示出来?

需要将一个 Postgres 关系数据库合并到另一个;完全相同的架构,外键是问题

如何合并两个 MySQL 结果?