【发布时间】:2016-08-18 00:48:58
【问题描述】:
我想问一下是否有某种方法可以将具有相同架构的表添加到同一服务器中的多个数据库,以及是否可以添加例如在同一服务器中存在的许多数据库中再次指向特定表的列。是否有一些查询或不可能?
【问题讨论】:
-
您可以使用内部
information_schema数据库中的表并创建批量语句。
我想问一下是否有某种方法可以将具有相同架构的表添加到同一服务器中的多个数据库,以及是否可以添加例如在同一服务器中存在的许多数据库中再次指向特定表的列。是否有一些查询或不可能?
【问题讨论】:
information_schema 数据库中的表并创建批量语句。
创建表:
select group_concat(
concat('create table `', db.schema_name, '`.X (a int, b int);') separator '\n'
) as qry
from information_schema.schemata db
where db.schema_name in ('test', 'test_db');
创建结果:
create table `test`.X (a int, b int);
create table `test_db`.X (a int, b int);
复制结果并执行。
创建批量 ALTER 查询的方法相同。
【讨论】:
where db.schema_name like 'project_%'。但我认为白名单是完成这项关键任务的更好方法。