我有两个几乎相同的数据库,但名称不同。我想为两者创建一个通用 SQL。因此,获取数据库名称,然后使用其中的表。我可以这样做吗?
代码:
SELECT @db := DATABASE();
SELECT
*
FROM
@db.table1 t1
INNER JOIN
@db.table2 t2 ON t2.id = t1.table2_id;
最佳答案
以下内容应该适合您:
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;
关于mysql - 根据情况使用不同的MySQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32868035/