根据条件使用不同的MySQL数据库

时间:2015-09-30 13:58:10

标签: mysql database variables select

我有两个几乎相同的数据库,但名称不同。我想为两者创建一个通用SQL。因此,获取数据库名称,然后使用该表。我能这样做吗?

代码:

SELECT @db := DATABASE();

SELECT
  *
FROM
  @db.table1 t1
INNER JOIN
  @db.table2 t2 ON t2.id = t1.table2_id;

1 个答案:

答案 0 :(得分:1)

以下内容对您有用:

SELECT @db := DATABASE();
select @stmt:= concat('SELECT
  *
FROM `', @db, '`.table1 t1
INNER JOIN
  `', @db, '`.table2 t2 ON t2.id = t1.table2_id');
Prepare stmt FROM @stmt;
execute stmt;