使用没有架构/数据库前缀的函数存储mysql视图

时间:2013-09-20 05:11:58

标签: mysql mysqldump

当我创建包含用户定义函数的MySql(5.0,5.1,5.5)视图时,存储的查询文本会自动包含数据库名称的前缀:

CREATE DEFINER = 'username'@'%'
VIEW dbname.NamesAndEmails
AS
SELECT `a`.`Name` AS `Name`, 
`dbname`.`formatFullEmail`(`a`.`Name`, `a`.`Email`)
FROM `MyTable` AS `a`;

如果我然后尝试编写脚本并将此视图加载到数据库名称不是dbnameaccount_57575_dbnamedbname.formatFullEmail(在我的托管服务提供商处)的新服务器上,我会得到函数{不可避免的错误} {1}}不存在。

我正在使用mysqldump(转储)和mysql(重新加载) - 除了这些不可变的前缀之外,加载到不同名称的数据库中没有任何问题。< / p>

我的解决方法是grep转储文件替换数据库名称,但是我错过了在某处省略模式前缀的选项吗?

0 个答案:

没有答案