#1064-您的SQL语法中有一个错误,请修复此问题


#1064 - You have an error in your SQL syntax fix this

CREATE FUNCTION wowdiscu_root.CreateGroup(GroupName VARCHAR(50), GroupIcon TEXT, GroupDescription VARCHAR(130), GroupCreator INT)
  RETURNS int(11)
  DETERMINISTIC
BEGIN
  DECLARE groupID INT;
  INSERT INTO groups (name, icon, description) VALUES (GroupName, GroupIcon, GroupDescription);
  SET groupID = LAST_INSERT_ID();
  INSERT INTO group_members VALUES (groupID, GroupCreator);
  RETURN groupID;
END;

MySQL表示

1064-您的SQL语法出现错误;查看与MySQL服务器版本相对应的手册,了解在第5行"附近使用的正确语法

有人能更正上面的MySQL代码吗?

您需要一个分隔符

DELIMITER $ -- set delimiter to $
CREATE FUNCTION wowdiscu_root.CreateGroup(GroupName VARCHAR(50), GroupIcon TEXT, GroupDescription VARCHAR(130), GroupCreator INT)
  RETURNS int(11)
  DETERMINISTIC
BEGIN
  DECLARE groupID INT;
  INSERT INTO groups (name, icon, description) VALUES (GroupName, GroupIcon, GroupDescription);
  SET groupID = LAST_INSERT_ID();
  INSERT INTO group_members VALUES (groupID, GroupCreator);
  RETURN groupID;
END$
DELIMITER ; -- set delimiter back to ;