我有两个几乎相同的数据库,但名称不同。我想为两者创建一个通用SQL。因此,获取数据库名称,然后使用该表。我能这样做吗?
代码:
SELECT @db := DATABASE();
SELECT
*
FROM
@db.table1 t1
INNER JOIN
@db.table2 t2 ON t2.id = t1.table2_id;
答案 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;