您的位置:首页 > 产品设计 > UI/UE

[Err] 1242 - Subquery returns more than 1 row

2017-02-15 19:01 513 查看
1、错误描述
[SQL]SELECT queryStuName(2016010101);
[Err] 1242 - Subquery returns more than 1 row
2、错误原因
BEGIN
DECLARE stuName VARCHAR(100);
SET stuName = (SELECT stu_name FROM t_student_info WHERE stu_no = stu_no);
RETURN stuName;
END

SELECT queryStuName(2016010101);       由于字段名和参数名一样,这样就会导致查询语句默认为字段名=字段名,查询出来的结果为多条

3、解决办法
DROP FUNCTION IF EXISTS `queryStuName`;

CREATE DEFINER = `root`@`localhost` FUNCTION `queryStuName`(`stuNo` int)
RETURNS varchar(100)
BEGIN
DECLARE stuName VARCHAR(100);
SELECT stu_name FROM t_student_info WHERE stu_no = stuNo INTO stuName;
RETURN stuName;
END;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: