MySQL存储函数创建错误ERROR 1064和1327

我正在使用MySQL v5.1.36,我正在尝试使用此代码创建存储函数.

DELIMITER //
CREATE FUNCTION `modx`.getSTID (x VARCHAR(255)) RETURNS INT DETERMINISTIC
    BEGIN
    DECLARE y INT;
    SELECT id INTO y
    FROM `modx`.coverage_state
    WHERE `coverage_state`.name = x;
    RETURN y;
    END//

当进入MysqL控制台时,我得到了这个回复.

MysqL>  DELIMITER //
MysqL>  CREATE FUNCTION `modx`.getSTID (x VARCHAR(255)) RETURNS INT DETERMINISTIC
    ->          BEGIN
    ->          DECLARE y INT;
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 3
MysqL>          SELECT id INTO y
    ->          FROM `modx`.coverage_state
    ->          WHERE `coverage_state`.name = x;
ERROR 1327 (42000): Undeclared variable: y
MysqL>          RETURN y;
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 'RETUR
N y' at line 1
MysqL>          END//

从我在网上找到的我的语法是正确的.我究竟做错了什么?

最佳答案
MysqL控制台创建函数/过程时,第一个命令应该是DELIMITER //.否则,它使用认分隔符(;),

相关文章

目录MySQL卸载环境查看是否已安装MySQL卸载mysql服务查看是否...
目录数据类型数据类型分类数值类型以TINYINT认识整型族有符号...
目录表的约束空属性非空约束(NOT NULL Constraint)默认值定...
目录函数时间日期函数:字符串函数数学函数其他函数 函数 时间...
目录使用C语言连接库的安装C APImysql_initmysql_real_conne...
目录用户用户管理查询所有用户查看当前用户查看当前连接数创...