我必须向本地 MySQL 添加一个函数,因为它是在远程服务器上定义的,用于测试目的。
但是当我添加像
这样的函数时CREATE FUNCTION test(test VARCHAR(64))
RETURNS VARCHAR(64)
BEGIN
return test;
END;
该函数已创建并在 ROUTINES 表中可见,但当我尝试使用它时
SELECT test();
我收到错误
[42000][1305] FUNCTION test does not exist
这在 MySQL 5.7 上工作得很好,但我似乎无法让它在 5.1 上工作
如有任何线索,我们将不胜感激。
最佳答案
我无法重现该问题:
mysql> SELECT VERSION();
+------------------+
| VERSION() |
+------------------+
| 5.1.73-community |
+------------------+
1 row in set (0.00 sec)
mysql> DELIMITER $$
mysql> DROP FUNCTION IF EXISTS `test`$$
Query OK, 0 rows affected (0.01 sec)
mysql> CREATE FUNCTION `test`(`test` VARCHAR(64))
-> RETURNS VARCHAR(64)
-> BEGIN
-> RETURN `test`;
-> END$$
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;
mysql> SELECT `test`('MySQL');
+-----------------+
| `test`('MySQL') |
+-----------------+
| MySQL |
+-----------------+
1 row in set (0.02 sec)
关于MySQL 5.1 [1305]函数不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44502782/