无法在MYSQL中创建函数错误1064(42000)

无法在MYSQL中创建函数错误1064(42000),mysql,function,Mysql,Function,嗨,我正在使用MySQL创建一个函数: CREATE FUNCTION INSERTGROUP(name VARCHAR(50)) RETURNS INT NOT DETERMINISTIC BEGIN DECLARE 'idGroup' INT; IF (NOT EXISTS (SELECT groupID FROM groupsTable WHERE groupName = 'name')) THEN INSERT INTO groupsTable (groupName) VALUES (

嗨,我正在使用MySQL创建一个函数:

CREATE FUNCTION INSERTGROUP(name VARCHAR(50))
RETURNS INT
NOT DETERMINISTIC
BEGIN
DECLARE 'idGroup' INT;

IF (NOT EXISTS (SELECT groupID FROM groupsTable WHERE groupName = 'name'))
THEN INSERT INTO groupsTable (groupName) VALUES ('name');

SELECT groupID INTO 'idGroup' FROM groupsTable WHERE groupName='name';

RETURN 'idGroup';
END//
但当我尝试创建它时,会出现以下错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
''idGroup' INT;

IF (NOT EXISTS (SELECT groupID FROM serverGroupsTable WHERE gro' at line 5
我已经通过论坛和其他类似的问题,但我不能让它创建的功能

我做错了什么?语法正确吗?我还需要补充什么吗

好的,这就是我尝试的:

CREATE FUNCTION INSERTGROUP(name VARCHAR(255))
RETURNS INT
NOT DETERMINISTIC
BEGIN
DECLARE idGroup INT;

IF (NOT EXISTS (SELECT groupID FROM groupsTable WHERE groupName = name))
THEN INSERT INTO groupsTable (groupName) VALUES (name);

SELECT groupID INTO idGroup FROM groupsTable WHERE groupName=name;

RETURN idGroup;
END//

在过去的两个月中,我得到了一个错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
'' at line 13
类似于上面的一个


另外,我使用
分隔符//
将其从
更改

从声明中删除引号

DECLARE idGroup INT;
您忘记了在函数开始时更改分隔符

delimiter //
CREATE FUNCTION INSERTGROUP(name VARCHAR(255))
你忘了结束你的
if
语句

end if;

无论您希望它在何处结束

从声明中删除引号

DECLARE idGroup INT;
您忘记了在函数开始时更改分隔符

delimiter //
CREATE FUNCTION INSERTGROUP(name VARCHAR(255))
你忘了结束你的
if
语句

end if;

无论您希望它在哪里结束

我曾经这样做过,我得到了这个没有引号的错误:
error 1064(42000):您的SQL语法有一个错误;请查看与MySQL服务器版本对应的手册,以了解第13行的“”附近要使用的正确语法。我还看到,这应该会将它们从围绕该变量和
name
的所有位置删除……并且您需要结束if语句<代码>结束如果我正在使用分隔符更改,但你是对的,我缺少
结束IF
谢谢!!我曾经有过这样的错误,但没有引号:
error1064(42000):您的SQL语法有一个错误;请查看与MySQL服务器版本对应的手册,以了解第13行的“”附近要使用的正确语法。我还看到,这应该会将它们从围绕该变量和
name
的所有位置删除……并且您需要结束if语句<代码>结束如果我正在使用分隔符更改,但你是对的,我缺少
结束IF
谢谢!!使用已实施但仍不起作用的修复程序更新示例。使用已实施但仍不起作用的修复程序更新示例。