mysql - 根据情况使用不同的MySQL数据库

标签 mysql database variables select

我有两个几乎相同的数据库,但名称不同。我想为两者创建一个通用 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/

相关文章:

javascript - 如何在 javascript 函数中设置新的变量值?

mysql - MySQL 查询连接表中的 GROUP BY、COUNT()

php - 更新 mysql 时区并更改所有 TIMESTAMPS 列

mysql - 根据 3 个条件查找并在 MySQL 中替换

Android:控制数据库版本

android - 在sdcard中创建数据库

php - 基于分页查看的动态轮播横幅

php - 用于创建 slug 的 mySQL 存储函数

mysql - 'fantasy football' 数据库中结果表的正确数据库结构

c++ - 在 C++ 中声明变量与动态分配内存给变量?