MySQL自动添加当前数据库作为前缀
假设我有两个数据库db1和db2,并且我有访问它们的完全权限。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
但当我发布以下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
我不这么认为。你是说我不能从两个不同的数据库连接两个表?我不这么认为。。。