前段时间执行创建存储过程和函数sql语句时,报错提示:1064 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
CREATE FUNCTION `FL_GETDATA`(
`fid` VARCHAR(32)
) RETURNS varchar(32) CHARSET utf8
BEGIN
RETURN (SELECT dic_name FROM fl_data_dictionary WHERE id = fid LIMIT 1);
END;
大部分都提示:这个错误表示你在执行SQL语句时,语法有误。这可能是由于关键字拼写错误、遗漏某些必须的部分(如逗号、括号等)、使用了MySQL不支持的语法或函数、数据类型不匹配等原因造成的。但是我的SQL简单,没有上述问题。数据库版本也没有问题。
查看以往其他的创建SQL,发现需要用到DELIMITER告诉mysql解释器,该段命令是否已经结束了,是否可以执行了。
DELIMITER //
CREATE FUNCTION `FL_GETDATA`(
`fid` VARCHAR(32)
) RETURNS varchar(32) CHARSET utf8
BEGIN
RETURN (SELECT dic_name FROM fl_data_dictionary WHERE id = fid LIMIT 1);
END;
//
DELIMITER;