gpt4 book ai didi

MySQL 存储过程返回选择

转载 作者:可可西里 更新时间:2023-11-01 08:07:26 26 4
gpt4 key购买 nike

这是一个非常基本的 MySQL 问题,但我找不到答案。假设以下存储过程主体;

DECLARE Existing INT DEFAULT 0;
SELECT SQL_CALC_FOUND_ROWS name FROM users WHERE id = pid LIMIT 1;
SELECT FOUND_ROWS() INTO Existing;
Select Existing;

当我运行它时,它总是返回第一个 SELECT 结果。但是我希望它返回最后一个 (SELECT Existing) 结果。这种行为正常吗?如果是这样,我该如何更改它,因为第一个选择只是为了检查,最后一个是我需要的。

(真正的逻辑和这个不一样,我这里只是简化一下)

最佳答案

你可以改为这样做:

SELECT COALESCE(id/id, 0) AS Existing
FROM users
WHERE id = pid
LIMIT 1;

如果找到 id,您将返回 1 (id/id = 1)。如果未找到 id,您将返回 0(id/id IS NULL,COALESCE 将返回 0)。

关于MySQL 存储过程返回选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8806636/

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