如何在两台服务器上实现这一目标?我使用MySQL和c#.net,插入完美,但现在我不知道如何做选择!
server: 127.0.0.1
tbl_student
roll_no| stu_name
1 | abc
2 | def
3 | xyz
Server:127.0.0.2
tbl_room
room_id| room_name
1 | A1
2 | A2
3 | A3
tbl_info (on server:127.0.0.2)
id | roll_no | room_id
1 | 1 |2
2 | 2 |3
3 | 3 |3
select i.id, i.roll_no, s.stu_name, r.room_name
from tbl_student as s, tbl_room as r, tbl_info as i
where i.roll_no = s.roll_no and i.room_id = r.room_id
答案 0 :(得分:1)
我不知道您使用的是哪个版本。尝试对DB-Link进行研究。这是用于您需要的术语。
在快速研究中,我看到这是mysql开发组的一个开放票: http://dev.mysql.com/worklog/task/?id=1150
答案 1 :(得分:0)
您需要使用FEDERATED Storage Engine将第二台服务器中的第一个表连接到第一台。
如果您的主服务器是:127.0.0.2 您可以映射服务器127.0.0.1中存在的表tbl_student 在另一台服务器中,在需要创建镜像表(伪代码)之前:
CREATE TABLE `tbl_student `(`roll_no` Int, stu_name VARCHAR(100))) ENGINE=FEDERATED
CONNECTION='MYSQL://127.0.0.1:3306/dbname/tbl_student ';
现在您只能在主服务器上运行。
FEDERATED存储引擎支持SELECT,INSERT,UPDATE,DELETE和索引。它不支持ALTER TABLE或任何直接影响表结构的数据定义语言语句,而不支持DROP TABLE。当前实现不使用预准备语句。
FEDERATED表上的效果较慢。
欲了解更多信息: http://dev.mysql.com/doc/refman/5.0/en/federated-use.html
我希望你有所帮助