首页 > 解决方案 > mysql:如何创建视图显示表的多个模式

问题描述

我正在开发一个多租户系统,它为每个新租户创建一个新架构,但是我有一个唯一的架构来检查租户是否已经存在,如果它不存在,则允许创建一个新架构。

虽然它有效,但我“猜测”它不是最好的解决方案,我“认为”拥有一个查询所有模式的所有“注册”表的视图会更有趣,我使用该视图来检查是否租户。

简而言之:我想知道如何创建一个可以查询每个模式的所有“注册表”表的视图,并且在创建新模式时,该视图将被更新。每个新方案都使用一个随机的 32 个字符的名称生成。

标签: mysqlsqlsql-view

解决方案


这是一个有点长的评论。

我质疑为每个“租户”创建一个新模式是否正确。肯定有这种情况——这些通常是由安全要求驱动的(你的问题甚至没有提到)。通常,在数据库中划分数据会损害性能,使数据更难管理,并阻碍对数据库的更新。

您的问题也不清楚“注册表”是什么。但是,您可以使用INFORMATION_SCHEMA.SCHEMATA访问数据库中的所有模式。根据您所说,您可以从所有可用的模式开始,并寻找满足您属于“租户”要求的模式。


推荐阅读