mysql - 连接来自两个不同服务器的表

标签 mysql

我有两个不同的服务器 server1server2,现在我在 server1 中有 db1 server2 中的 db2。 我正在尝试像这样在 MySQL 中加入这两个表。

Select a.field1,b.field2  
FROM  [server1, 3306].[db1].table1 a  
Inner Join [server2, 3312].[db2].table2 b  
ON a.field1=b.field2  

但我遇到了错误。在 MYSQL 中是可能的。

最佳答案

是的,在 MySQL 中是可以的。

有人问过类似的问题previously也。您必须使用 FEDERATED ENGINE去做这个。思路是这样的:

您必须有一个基于另一个远程位置的表的联合表才能以您想要的方式使用。表的结构必须完全相同。

CREATE TABLE federated_table (
    id     INT(20) NOT NULL AUTO_INCREMENT,
    name   VARCHAR(32) NOT NULL DEFAULT '',
    other  INT(20) NOT NULL DEFAULT '0',
    PRIMARY KEY  (id),
    INDEX name (name),
    INDEX other_key (other)
)
ENGINE=FEDERATED
DEFAULT CHARSET=latin1
CONNECTION='mysql://fed_user@remote_host:9306/federated/test_table';

[Source Answer]

关于mysql - 连接来自两个不同服务器的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11114197/

相关文章:

mysql - 在 dbGetQuery 中为 () 查询中的 sql 准备字符串

mysql - 跨一对多模式的主键

mysql - SQL 选择带有 "begin with"的项目/在变量​​名称后面放置一个 %

php - 在 mysql_fetch_array() 上循环运行时使用 PHP 的奇怪结果

python - 当前交易发生错误。在 'atomic' block 结束之前不能执行查询

mysql - DBD-mysql错误: CPU you selected does not support x86-64 instruction set

php - joomla - 类别排序存储在哪里?

mySQL - 如果语句给出语法错误

php - MySQL选择9个随机和1个定义的记录

php - 如何拆分和求和并比较 mysql 中的条件?