Я проверил вашу функцию. Я получил эту ошибку.
ОШИБКА 1418 (HY000): Эта функция не имеет ни DETERMINISTI C, NO SQL, ни READS SQL DATA в своем объявлении, и двоичное ведение журнала включено ( вы могли бы захотеть использовать менее безопасную переменную log_bin_trust_function_creators)
Кстати, в будущем, когда вы обращаетесь за помощью с ошибкой, включает ошибку сообщение в вашем сообщении. Помогите нам помочь вам! Не заставляйте нас догадываться!
Прочитайте документацию о READS SQL DATA
здесь: https://dev.mysql.com/doc/refman/8.0/en/stored-programs-logging.html
Поэтому я добавил эту опцию к вашей функции:
CREATE FUNCTION get_appli_name_by_email(ApliEMAIL VARCHAR(255))
RETURNS VARCHAR(255)
READS SQL DATA
BEGIN
DECLARE A_NAME VARCHAR(255) DEFAULT"";
SELECT apli_fname INTO A_NAME
FROM tbl_signup
WHERE apli_email = ApliEMAIL;
RETURN A_NAME;
END$$
Это работает сейчас:
mysql> select get_appli_name_by_email('thefrog@muppets.org');
+------------------------------------------------+
| get_appli_name_by_email('thefrog@muppets.org') |
+------------------------------------------------+
| Kermit |
+------------------------------------------------+