我可以在2个数据库上执行单个查询吗?

时间:2009-11-20 05:51:36

标签: mysql database

我正在使用php和mysql。

我有一个问题,比方说,我在数据库A下的users表中有一个userid列,在数据库B下的purchase表中有userid列。

我可以使用innerjoin执行单个查询从2个数据库中获取值吗?或者我必须使用多个查询?

哦,是的,如果说,我有这个变量:

$conn // connect to database A

我可以在mysql_close()??

之前创建另一个变量来连接数据库B.

很抱歉这里有多个问题; p

2 个答案:

答案 0 :(得分:1)

SELECT * FROM database1.table1 t1, database2.table2 t2 WHERE t1.id = t2.id 

来自MySQL文档

  

您可以参考其中的表格   默认数据库为tbl_name,或为   db_name.tbl_name指定数据库   明确。你可以参考一个专栏   as col_name,tbl_name.col_name或   db_name.tbl_name.col_name。你需要   不指定tbl_name或   db_name.tbl_name列的前缀   参考,除非参考   暧昧见8.2.1节,   例如,“标识符限定符”   需要更多的歧义   显式列引用表单。

答案 1 :(得分:0)

您必须使用<databasename>.<tablename>访问特定数据库中的表,然后执行常规连接。