Ошибка в функции MySQL с параметрами - PullRequest
0 голосов
/ 28 мая 2018

У меня есть функция MySQL с 2 параметрами , а именно user_id и post_id

Вот моя функция:

CREATE FUNCTION isliked(pid INT, uid INT)
RETURN TABLE
AS
RETURN (EXISTS (SELECT 1 FROM likedata ld WHERE post_id = pid AND user_id = uid
       )) as is_liked
END

Я пытался вызвать его с помощью запроса ниже:

SELECT posts.id, posts.title, isliked(111,123)
FROM posts

Возвращает следующую ошибку:

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 'RETURN TABLE
AS
RETURN (EXISTS (SELECT 1 FROM likedata ld WHERE post_id = pid AN' at line 2

Должны быть возвращены результаты, подобные этому http://sqlfiddle.com/#!9/91040/5 I'mновичок в sql, любая помощь будет отличной, заранее спасибо

1 Ответ

0 голосов
/ 28 мая 2018

Если вы хотите, чтобы функция возвращала логическое значение, используйте:

CREATE FUNCTION isliked(pid INT, uid INT)
RETURNS BIT
   RETURN ( EXISTS ( SELECT 1 FROM likedata ld WHERE post_id = pid AND user_id = uid ) )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...