首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何连接位于不同服务器上的两个MySQL数据库中的表?

如何连接位于不同服务器上的两个MySQL数据库中的表?
EN

Stack Overflow用户
提问于 2011-12-04 19:32:03
回答 3查看 5K关注 0票数 2

我们有一个由一家大型国际公司托管的网站,我们的软件包包括许多MySQL数据库:这些数据库位于不同的服务器上。我希望运行一个SQL查询,在两个不同的数据库中使用LFET连接表来选择项。

在PHP脚本中,我设置了两个单独的数据库连接,然后运行SELECT查询,只引用两个表中的字段(数据库之间没有公共字段或表名)。这没能成功。在互联网上的各种搜索中发现了以下提示: 1.扩展对格式databasename.tablename.fieldname 2的引用。确保两个数据库连接完全不同&添加"true“参数

代码语言:javascript
复制
$db=MYSQL_CONNECT($server, $user, $password, true) or die ( "<H3>Server unreachable</H3>");
$seldb=MYSQL_SELECT_DB($database) or die ( "<H3>Database non existent</H3>");

$dbM=MYSQL_CONNECT($serverm, $userm, $passwordm, true) or die ( "<H3>members database server unreachable</H3>");
$seldbM=MYSQL_SELECT_DB($databasem) or die ( "<H3>Members database non existent</H3>");

MySQL查询仍然失败。

然后,我生成了一个脚本,如下所示

  • 连接到database1
  • 查询datbase1
  • 连接到databaseM
  • 查询databaseM

这个成功了。

接下来,我构建了脚本

  • 连接到database1
  • 连接到databaseM
  • 查询database1
  • 查询databaseM

database1查询失败。

有结构

  • 连接到databaseM
  • 连接到database1
  • 查询database1
  • 查询databaseM

导致第一个查询运行,但第二个查询失败。

有人能帮忙吗,或者不可能做这样的事情:

连接到两个数据库,然后有一个php命令,如

代码语言:javascript
复制
 $SQL="SELECT db1 roles.HMRSmembershipNumber, people.called,  people.lastname
       FROM roles LEFT JOIN people ON roles.HMRSmembershipNumber = people.HMRSmembershipNumber
  WHERE role LIKE 'EC Member%'
 ;";
EN

回答 3

Stack Overflow用户

发布于 2011-12-04 19:46:03

听起来你要找的东西叫做联合存储引擎

联邦存储引擎可以从MySQL 5.0.3开始。它是一个存储引擎,用于访问远程数据库表中的数据,而不是本地表中的数据。 联邦存储引擎可以从MySQL 5.0.3开始。此存储引擎允许在不使用复制或群集技术的情况下从本地服务器上的远程MySQL数据库访问数据。当使用联邦表时,本地服务器上的查询将自动在远程(联邦)表上执行。本地表上不存储任何数据。

票数 4
EN

Stack Overflow用户

发布于 2011-12-04 19:47:23

尽管我不确定它是否非常有效,但您可以尝试的是用一个DB的数据填充一个数组,用另一个Db的数据填充一个数组,并使用数组函数来处理它们,可能是array_merge等等。只是一个想法!

票数 0
EN

Stack Overflow用户

发布于 2011-12-04 19:36:00

我希望运行一个SQL查询,在两个不同的数据库中使用LFET连接表来选择项。

那怎么可能。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8378008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档