【发布时间】:2012-12-21 17:58:43
【问题描述】:
我在使用从另一个数据库中提取的 MySQL 函数时遇到问题。我分别做了和导入数据和函数和过程。
我现在有一个调用preg_replace 的makehash 函数。我在任何地方都看不到这个函数或过程。
如果我运行 show function status 或 show procedure status 与 preg_replace 无关,只会显示之前的自定义过程和函数。
在我复制的数据库上安装了我没有复制到新数据库的东西吗?
这里是makehash 函数:
CREATE DEFINER=`root`@`localhost` FUNCTION `makehash`(description text, raw_location text, title text) RETURNS varchar(32) CHARSET utf8
NO SQL
DETERMINISTIC
begin
declare data longtext;
declare hash varchar(32);
set data = ifnull(description, '');
set hash = null;
if length(data) > 64 then
set data = lower(concat(data, ifnull(raw_location, ''), ifnull(title, '')));
set hash = md5(preg_replace('/[^a-z]/', '', data));
end if;
return hash;
【问题讨论】:
-
preg_replace 是一个 php 函数 - 不是 mysql。另见:stackoverflow.com/questions/1815865/…
-
@ethrbunny 我知道,但我想知道我是否在另一个数据库中看不到任何东西。理想情况下,我只想从那里复制它。此功能适用于另一个数据库,所以我认为它必须在某个地方。除了函数和过程之外,mysql db 中是否还存储了其他东西?
标签: mysql function preg-replace procedure