mysql - 如何修复 MySQL CREATE FUNCTION 查询?

标签 mysql mysql-error-1064 create-function

我要添加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

但是报错:

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

最佳答案

尝试...

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$$

关于mysql - 如何修复 MySQL CREATE FUNCTION 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2967103/

相关文章:

php - 如何在php中应用多个数据?

MySQL 创建带有值的函数语句并返回数据类型decimal

MySQL 函数通过一次选择声明 2 个变量

php - 无法使用 PHP/PDO 在 mySQL DB 上更新/插入

mysql - sql查询性能不佳

mysql - 将旧的 MySQL 代码迁移到新版本的 MySQL。我在这里找不到涉及 ENGINE=MyISAM 的错误

MYSQL 插入;无效的语法

PHP 7.2 错误函数 create_function() 已弃用

java - 在 Jasperreports 上拆分后获取第二个值

php - 使用xml缓存数据