如何修复MySQL CREATE FUNCTION查询?

Liu*_*tas 0 mysql create-function mysql-error-1064

我想添加mysql函数:

CREATE FUNCTION `chf_get_translation`(translation_id INT, site_lang INT) 
RETURNS text CHARSET utf8
BEGIN

  DECLARE translation TEXT;

  SELECT title 
    INTO translation 
    FROM chf_translations 
   WHERE key_id = translation_id 
     AND lang_id = site_lang;

  RETURN translation;

END
Run Code Online (Sandbox Code Playgroud)

但得到错误:

1064 - 您的SQL语法出错; 检查与MySQL服务器版本对应的手册,以便在第3行的"'附近使用正确的语法

Gar*_*ary 5

尝试...

DELIMITER $$

CREATE FUNCTION `chf_get_translation`(translation_id INT, site_lang INT) 
RETURNS text CHARSET utf8
BEGIN

  DECLARE translation TEXT;

  SELECT title 
    INTO translation 
    FROM chf_translations 
   WHERE key_id = translation_id 
     AND lang_id = site_lang;

  RETURN translation;

END$$
Run Code Online (Sandbox Code Playgroud)

  • 我找到了答案.在"RETURNS text CHARSET utf8"之后我需要"READS SQL DATA" (5认同)