¿Cómo arreglar la consulta de funciones de creación mysql?
-
24-10-2019 - |
Pregunta
Quiero agregar la función 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
Pero obtenga un error:
1064 - Tiene un error en su sintaxis SQL; Verifique el manual que corresponde a su versión del servidor MySQL para que la sintaxis correcta se use cerca de '' en la línea 3
Solución
Probar...
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$$
Otros consejos
DELIMITER $
CREATE FUNCTION `chf_get_translation`(translation_id INT, site_lang INT)
RETURNS text CHARSET utf8
DETERMINISTIC
BEGIN
DECLARE translation TEXT;
SELECT title
INTO translation
FROM chf_translations
WHERE key_id = translation_id
AND lang_id = site_lang;
RETURN translation;
END$
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow