【问题标题】:MySQL Create function returns errorMySQL 创建函数返回错误
【发布时间】: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中执行了
  • 奇怪。执行时,您在该函数之前有代码吗?如果是,请删除它并仅执行此代码。
  • 没有。没有更多的代码/命令。

标签: mysql mysql-error-1064 sql-function


【解决方案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 ;
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多