我必须向我的本地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
上完成它任何线索都会非常感激。
答案 0 :(得分:0)
我无法重现这个问题:
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)