从不同的数据库中选择两个或多个表

时间:2012-01-06 20:03:14

标签: php mysql

如何在单个查询中使用两个表,它们位于不同的数据库中,意味着

SELECT table1.id, table1.name, table2.id, table2.telephone
FROM table1, table2   
WHERE table1.id = table2.id

此处,table1table2位于不同的数据库中。

2 个答案:

答案 0 :(得分:10)

您可以进行跨数据库连接,没问题。只需在表名前加上数据库名称。

SELECT t1.id, t1.name, t2.id, t2.telephone
FROM db1.table1 t1
INNER JOIN db2.table2 t2 on t1.id = t2.id;

但要注意权限。如果用户无权访问其中一个数据库,则此选择将失败。

答案 1 :(得分:2)

您需要为表格以及字段/属性使用完全限定名称:

SELECT table1.id, table1.name, table2.id, table2.telephone
FROM db_1.table1, db_2.table2
WHERE table1.id = table2.id