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

MySQL自动添加当前数据库作为前缀,mysql,sql,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似乎会自动添加数据库名称作为前缀。我做错了什么?您需要这样做: SELECT * FROM `db1`.`tbl1` AS t1 JOIN `d

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

您需要这样做:

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

您需要添加带有表名和数据库名的`till

您应该分别对数据库名和表名进行反勾引述:

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

我不这么认为。你是说我不能从两个不同的数据库连接两个表?我不这么认为。。。