我在使用从另一个数据库中提取的 MySQL 函数时遇到问题。我做了和导入数据和函数和程序分开。
我现在有makehash
一个调用preg_replace
. 我在任何地方都看不到这个函数或过程。
如果我运行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;