gpt4 book ai didi

sql - MySQL 从 SELECT 语句返回值

转载 作者:行者123 更新时间:2023-11-29 07:12:16 24 4
gpt4 key购买 nike

我一直收到这个错误:结果由多行组成

我有这个功能:

DROP FUNCTION IF EXISTS db.GetUserIDByCourseID;
CREATE FUNCTION db.`GetUserIDByCourseID`(CourseID int) RETURNS int(11)
BEGIN
SELECT (c.user_id + COALESCE(pi.user_id, 0) + COALESCE(p.user_id, 0))
INTO @user_id
FROM courses c
LEFT JOIN users u
ON u.user_id = c.user_id
LEFT JOIN partners p
ON p.partner_id = c.partner_id
LEFT JOIN partners_individual pi
ON pi.individual_id = c.individual_id;
WHERE c.course_id = CourseID;

SELECT user_type_id
INTO @user_type_id
FROM users
WHERE user_id = @user_id;

RETURN @user_type_id;
END;

最佳答案

SELECT 进入变量时,结果集必须恰好包含一行。在您当前的示例中,第一个 select 语句似乎可能会返回多行;您可以通过手动执行它来检查出现问题的 CourseID 值。我不能说该怎么办,因为这取决于您的设计细节。

关于sql - MySQL 从 SELECT 语句返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3732909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com