1

我必须向我的本地 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 上工作

任何线索将不胜感激。

4

1 回答 1

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)
于 2017-06-12T15:30:42.243 回答