gpt4 book ai didi

存储过程中的 MySQL 案例未按预期工作

转载 作者:太空宇宙 更新时间:2023-11-03 11:24:36 27 4
gpt4 key购买 nike

这是一个有 3 种可能情况的存储过程。我不知道如何让第三个案例运行。如果我交换 2 和 3,3 将运行良好而 2 将无法运行,这让我相信它不是每种情况下的实际代码。

CREATE DEFINER=`user`@`ip` PROCEDURE `api_userLogin_new`(IN _userType int,IN _clientId varchar(45),IN _username varchar(50))
BEGIN
CASE WHEN _userType = 1
THEN
*do stuff that works*
WHEN '2'
THEN
*do other stuff that works*
WHEN '3'
THEN
{this won't run, but does if I swap it out with 2}
ELSE BEGIN END;
END CASE;
END;

它不会给出错误,但无论哪个代码位于 3 个位置的最后一个,它都不会做任何事情(即移动“WHEN '3'”,它的代码到 WHEN '2' 的位置是,然后 2 不会运行或出错)。

最佳答案

使用完整的表达式:

CREATE DEFINER=`user`@`ip` PROCEDURE `api_userLogin_new`(IN _userType int,IN _clientId varchar(45),IN _username varchar(50))
BEGIN
CASE WHEN _userType = 1
THEN
*do stuff that works*
WHEN _userType = '2'
THEN
*do other stuff that works*
WHEN _userType = '3'
THEN
*do other stuff that works*
ELSE BEGIN END;
END CASE;
END;

旁注:您的场景是因为“2”和“3”在 MYSQL 中计算为 TRUE 时发生的。

关于存储过程中的 MySQL 案例未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55536481/

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