【问题标题】:Use different MySQL database based on condition根据条件使用不同的 MySQL 数据库
【发布时间】:2015-09-30 13:58:10
【问题描述】:

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

代码:

SELECT @db := DATABASE();

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

【问题讨论】:

    标签: mysql database variables select


    【解决方案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;
    

    【讨论】:

    • @DenesCsesznegi,感谢您接受答案! :)
    • 这是我至少能做的。 :)
    猜你喜欢
    • 1970-01-01
    • 2023-01-08
    • 2019-10-31
    • 2014-04-16
    • 1970-01-01
    • 2020-11-26
    • 2019-03-29
    • 1970-01-01
    • 2020-02-05
    相关资源
    最近更新 更多