MySQL自动添加当前数据库作为前缀

时间:2013-12-25 09:03:26

标签: mysql sql

假设我有两个数据库db1和db2,并且我有完全权限来访问它们 但是当我发出以下sql:

SELECT * FROM `db1.tbl1` AS t1 JOIN `db2.tbl2` AS t2 ON t1.id=t2.id

我收到此错误:

Table `db1.db1.tbl1` doesn't exist.

db1.tbl1确实存在。看来mysql会自动添加数据库名称作为前缀。我做错了什么?

2 个答案:

答案 0 :(得分:4)

您应该反复引用数据库名称和表名称:

SELECT * FROM `db1`.`tbl1` AS t1 JOIN `db2`.`tbl2` AS t2 ON t1.id=t2.id

如果没有保留名称,或者只是没有反引号。

SELECT * FROM db1.tbl1 AS t1 JOIN db2.tbl2 AS t2 ON t1.id=t2.id

答案 1 :(得分:0)

你需要这样做:

SELECT * FROM `db1`.`tbl1` AS t1 JOIN `db2`.`tbl2` AS t2 ON t1.id=t2.id;

您需要添加`until with the table name和database name。