Я пытаюсь создать 2 функции MySQL Я нашел здесь , я покажу более короткую:
CREATE FUNCTION levenshtein_ratio( s1 VARCHAR(255), s2 VARCHAR(255) )
RETURNS INT
DETERMINISTIC
BEGIN
DECLARE s1_len, s2_len, max_len INT;
SET s1_len = LENGTH(s1), s2_len = LENGTH(s2);
IF s1_len > s2_len THEN
SET max_len = s1_len;
ELSE
SET max_len = s2_len;
END IF;
RETURN ROUND((1 - LEVENSHTEIN(s1, s2) / max_len) * 100);
END;
Они оба продолжают выдавать мне одну и ту же ошибку:
# 1064 - у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса для использования рядом с '' в строке 5
Строка 5 для другой функции выглядит следующим образом:
DECLARE s1_len, s2_len, i, j, c, c_temp, cost INT;
Я посмотрел Ошибка 1064 и нашел это:
Ошибка: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR)
Сообщение:% s рядом с "% s" в строке% d
Я не знаю, что это значит.
Я не могу понять, что вызывает ошибку?