对具有相同模式名称的多个数据库使用 mysql 函数
Posted
技术标签:
【中文标题】对具有相同模式名称的多个数据库使用 mysql 函数【英文标题】:use mysql functions for multiple databases with same pattern name 【发布时间】:2013-12-27 16:31:43 【问题描述】:我可以导入 mysql 函数并将其用于具有相同模式名称的多个数据库而不再导入该函数吗?
我知道Mysql在两个表中保存函数:
information_schema.ROUTINES
和 mysql.proc
有人有这个想法吗?
【问题讨论】:
【参考方案1】:每个存储过程都与其schema
或database
相关联。
只要 SP 只是例程而不依赖于表数据,就可以从任何地方愉快地调用它们。
如果 SP 旨在基于表数据进行计算,那么在定义 SP 主体时肯定需要 database
限定符。
IE。而不是打电话select count(*) from routines;
,
您需要致电select count(*) from information_schema.routines;
。
如果您查看routines
和proc
的表结构,您可以找到分别指向SP 的目标数据库的列routine_schema
和db
。
除非您以这种方式定义与表数据相关的 SP 体 你肯定必须在你的数据库环境中重新定义它们。
更重要的是,您再次需要权限才能访问和执行这样的跨数据库 SP。
【讨论】:
以上是关于对具有相同模式名称的多个数据库使用 mysql 函数的主要内容,如果未能解决你的问题,请参考以下文章
PHP:具有不同名称的多个按钮以使用 AJAX 更新 MySQL 数据库