我遵循了课程材料中提供的示例,并制作了一个返回计数的函数。现在,我正在尝试制作一个函数,该函数将使我获得用户的全名,这与我制作count函数的原理相同,但我不断遇到此错误:
1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以获取正确的语法,以在第4行的''附近使用
CREATE FUNCTION getAuthorFullName (authorID INT)
RETURNS CHAR(45)
BEGIN
DECLARE author CHAR(45);
SELECT CONCAT(first, ' ',last) FROM person as fullName
JOIN user ON user.idPerson = fullName.idPerson
WHERE idUser LIKE authorID
INTO author;
RETURN author;
我自己检查了SELECT查询,当我手动传递作者ID时,它检索了作者的正确全名,因此我只需要使它在可以简单传递作者ID的函数中工作即可。
答案 0 :(得分:1)
INTO
跟随值。
如果idUser是整数,则使用=
运算符。 LIKE
字符串的ID
SELECT CONCAT(first, ' ',last) INTO author
FROM person as fullName
JOIN user ON user.idPerson = fullName.idPerson
WHERE idUser = authorID
;
这里是 sql demo
DROP FUNCTION IF EXISTS getAuthorFullName;
CREATE FUNCTION getAuthorFullName (authorID INT)
RETURNS CHAR(45)
BEGIN
DECLARE author CHAR(45) ;
SELECT CONCAT('first', ' ','last' ) INTO author;
RETURN author;
END;
SELECT getAuthorFullName(1);