【问题标题】:MYSQL Out Parameter will always return null for select queryMYSQL Out 参数将始终为选择查询返回 null
【发布时间】:2014-02-26 13:13:52
【问题描述】:

我是 MYSQL 的新手,我想为选择查询返回 out 参数值,但它总是返回 null。 我已经做了一个示例,请看一下并建议我如何解决这个问题。

SET -> http://sqlfiddle.com/#!2/0195c/1
SELECT -> http://sqlfiddle.com/#!2/ed9c82/1

是的,它工作正常,但它是我的实际查询

CREATE DEFINER=root@localhost PROCEDURE SignIn(IN p_strUsername varchar(100), IN p_strPassword varchar(100), out p_UserID long) 开始 从用户中选择 p_UserID = User.Id User.Id 上的内部连接 ​​UserInfo = UserInfo.UserID 其中 User.UserName =p_strUsername 和 user.Password = SHA1(p_strPassword);

select p_UserID;

结束

请给我建议。 !!

【问题讨论】:

    标签: mysql


    【解决方案1】:

    您正在 select 语句中进行赋值。

    您可以使用 set 语句设置值。 首先设置像

    SET <variablename> = <value>;
    

    然后

    SELECT <variable name>;
    

    检查这个 http://sqlfiddle.com/#!2/0e1cc/1

    使用 SELECT 在变量中赋值, 你可以这样做

    SELECT <colname>,<colname> ..INTO <variable>, <variable> from <tbl>.
    

    【讨论】:

    • 是的,您的查询执行得很好。但是我的实际查询我已经发布了我的问题,它总是返回 null。
    • 这个“select p_UserID = User.Id”是什么?为什么?
    • 将输出参数设置为 P_USERID。
    • 我已经尝试过没有声明它也会返回null。所以我尝试使用(“select p_UserID = User.Id”..)。
    • 尝试“选择 User.Id INTO p_UserID”。为变量赋值。
    猜你喜欢
    • 2020-05-12
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 2014-04-04
    • 2014-05-09
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多