创建函数时出现语法错误

7y4bm7vi  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(336)

我正在尝试创建如下函数:

  1. CREATE FUNCTION TitleToFileName(title varchar(200)) RETURNS varchar(200)
  2. BEGIN
  3. set title = REPLACE(title,":"," ");
  4. set title=REPLACE(title,"/"," ");
  5. set title=REPLACE(title,"_"," ");
  6. RETURN title;
  7. END

mysql显示错误:
sql语法有错误;请查看与mysql服务器版本相对应的手册,以获取第3行“”附近要使用的正确语法
我试着用'instead of'和@title代替title,但没有成功。。

yhuiod9q

yhuiod9q1#

您需要将分隔符重新定义为其他内容(例如: $$ ),而不是( ; ).
同样作为一种安全措施,检查同名函数是否已经存在( DROP FUNCTION IF EXISTS )
最后,重新定义 DELIMITER; 尝试:

  1. DELIMITER $$
  2. DROP FUNCTION IF EXISTS `TitleToFileName`$$
  3. CREATE FUNCTION TitleToFileName(title varchar(200)) RETURNS varchar(200)
  4. BEGIN
  5. set title = REPLACE(title,":"," ");
  6. set title=REPLACE(title,"/"," ");
  7. set title=REPLACE(title,"_"," ");
  8. RETURN title;
  9. END $$
  10. DELIMITER ;

相关问题