我们有一个由一家大型国际公司托管的网站,我们的软件包包括许多MySQL数据库:这些数据库位于不同的服务器上。我希望运行一个SQL查询,在两个不同的数据库中使用LFET连接表来选择项。
在PHP脚本中,我设置了两个单独的数据库连接,然后运行SELECT查询,只引用两个表中的字段(数据库之间没有公共字段或表名)。这没能成功。在互联网上的各种搜索中发现了以下提示: 1.扩展对格式databasename.tablename.fieldname 2的引用。确保两个数据库连接完全不同&添加"true“参数
$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查询失败。
有结构
导致第一个查询运行,但第二个查询失败。
有人能帮忙吗,或者不可能做这样的事情:
连接到两个数据库,然后有一个php命令,如
$SQL="SELECT db1 roles.HMRSmembershipNumber, people.called, people.lastname
FROM roles LEFT JOIN people ON roles.HMRSmembershipNumber = people.HMRSmembershipNumber
WHERE role LIKE 'EC Member%'
;";发布于 2011-12-04 19:46:03
听起来你要找的东西叫做联合存储引擎
联邦存储引擎可以从MySQL 5.0.3开始。它是一个存储引擎,用于访问远程数据库表中的数据,而不是本地表中的数据。 联邦存储引擎可以从MySQL 5.0.3开始。此存储引擎允许在不使用复制或群集技术的情况下从本地服务器上的远程MySQL数据库访问数据。当使用联邦表时,本地服务器上的查询将自动在远程(联邦)表上执行。本地表上不存储任何数据。
发布于 2011-12-04 19:47:23
尽管我不确定它是否非常有效,但您可以尝试的是用一个DB的数据填充一个数组,用另一个Db的数据填充一个数组,并使用数组函数来处理它们,可能是array_merge等等。只是一个想法!
发布于 2011-12-04 19:36:00
我希望运行一个SQL查询,在两个不同的数据库中使用LFET连接表来选择项。
那怎么可能。
https://stackoverflow.com/questions/8378008
复制相似问题