MySQL 创建函数返回错误

Posted

技术标签:

【中文标题】MySQL 创建函数返回错误【英文标题】:MySQL Create function returns error 【发布时间】:2014-10-09 02:45:34 【问题描述】:

我正在尝试创建一个返回行数的函数。但它一次又一次地返回错误。

1064 - 您的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以了解在第 11 行的 '' 附近使用正确的语法

DELIMITER $$
CREATE FUNCTION func1(userid INT)
RETURNS INT
NOT DETERMINISTIC
BEGIN
  DECLARE var_name INT;
  SET var_name = 0;
  SELECT COUNT(*) INTO var_name
    FROM wps_bal
    WHERE u_id = userid;
  RETURN var_name;
END$$

【问题讨论】:

为我工作。你如何执行它 我已经在phpMyAdmin中执行了 奇怪。执行时,您在该函数之前有代码吗?如果是,请删除它并仅执行此代码。 没有。没有更多的代码/命令。 【参考方案1】:

很可能您的 PHPMyAdmin 版本不支持不是 MySQL 语句的 DELIMITER 语句。在这里您可以找到如何在 PHPMyAdmin 中创建函数:Store procedures in phpMyAdmin

【讨论】:

【参考方案2】:

是的。 This was helpfull

我已经创建了解决方案:

DELIMITER $$
CREATE FUNCTION func1(userid INT)
RETURNS INT
NOT DETERMINISTIC
BEGIN
  DECLARE var_name INT;
  SET var_name = 0;
  SELECT COUNT(*) INTO var_name
    FROM wps_bal
    WHERE u_id = userid;
  RETURN var_name;
END$$
DELIMITER ;

【讨论】:

根据***.com/help/self-answer,您可以在 48 小时后接受自己的答复。这会将您的问题从未回答的问题列表中删除。

以上是关于MySQL 创建函数返回错误的主要内容,如果未能解决你的问题,请参考以下文章

MySQL创建函数报“ERROR 1418 ”错误,不能创建函数

MySQL--函数的创建使用查看和删除

创建函数时出现“MySQL语法错误”[关闭]

MySQL函数返回与其代码不同的输出

Mysql 无法创建/写入文件错误#13

MySQL进阶19--函数的创建(举例)/设置mysql的创建函数的权限/查看(show)/删除(drop) / 举4个栗子