假设我有两个数据库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会自动添加数据库名称作为前缀。我做错了什么?
答案 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。