3

我想在我的 MySQL 数据库中使用汉明距离(通过 phpMyAdmin 使用),但没有成功使用此处给出的代码创建函数

我指的是这段代码:

CREATE FUNCTION HAMMINGDISTANCE(
A0 BIGINT, A1 BIGINT, A2 BIGINT, A3 BIGINT,
B0 BIGINT, B1 BIGINT, B2 BIGINT, B3 BIGINT
)
RETURNS INT DETERMINISTIC
RETURN
  BIT_COUNT(A0 ^ B0) +
  BIT_COUNT(A1 ^ B1) +
  BIT_COUNT(A2 ^ B2) +
  BIT_COUNT(A3 ^ B3);

问题是我没有“超级特权”。我还尝试将这段代码放在两者之间DELIMITER //(它适用于 Levenshtein 距离函数,见下文),但也没有解决问题 - 我得到了一个超时:

/usr/share/phpmyadmin/libraries/import/sql.php第 132 行超过了 300 秒的最大执行时间

无论如何,我对 MySQL 还是很陌生,所以我想知道是否有人可以帮助我以其他方式在 MySQL 中创建汉明函数。

顺便说一句,我也在使用Levenshtein 距离函数,这个函数的创建工作得很好。然而,我发现应该使用 Levenshtein 距离来计算两个字符串之间的距离,而应该使用汉明距离来计算数值数据。

谢谢。

4

1 回答 1

0

你需要CREATE ROUTINE许可。

于 2015-04-18T18:40:25.723 回答