加入收藏 | 设为首页 | 会员中心 | 我要投稿 成都站长网 (https://www.028zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

从选择查询中查找数据库名称

发布时间:2022-09-30 14:31:00 所属栏目:MySql教程 来源:转载
导读: 2 个答案:
答案 0 :(得分:1)
问题是DATABASE()函数返回当前默认数据库的名称。当您明确将数据库包含在查询中时,该查询将与查询中使用的数据库不同。
另一种选择是在您选择的数据库中包

2 个答案:

答案 0 :(得分:1)

问题是DATABASE()函数返回当前默认数据库的名称。当您明确将数据库包含在查询中时,该查询将与查询中使用的数据库不同。

另一种选择是在您选择的数据库中包含数据库名称,这样:

select db, id, name, created_on from (
select "db1" as db, user.* from db1.user
union all
select "db2" as db, user.* from db2.user
union all 
select "db3" as db, user.* from db3.user) as q where id = "123";

请注意,“数据库”是保留字(因为它指的是数据库功能,因此请记住,如果您决定从“ db”更改我使用的名称。

答案 1 :(得分:0)

您可以按照以下棘手的步骤来获得所需的结果。

1)首先,在所有三个数据库的用户表中创建db_name列。

2)然后,在插入查询中将db_name的值添加为database(),因此在插入时,它将存储各自的数据库名称(即,当从db1执行插入查询时,db_name的值将是db1MySQL 选择数据库,类似地, db2和db3的值分别为db2和db3。

3)然后在您的查询中,用db_name替换database()。

这样,您将获得相应的数据库名称。

(编辑:成都站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!