Mysql 未显示存储过程的输出参数

Mysql 未显示存储过程的输出参数,mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,调用存储过程时,我似乎无法让它显示OUT参数。它只显示“0行受影响”,不显示输出变量。输出是已声明的变量的值。这是我的程序 CREATE DEFINER=`root`@`%` PROCEDURE `test`(IN `masterId` INT, IN `subId` INT, OUT current_balance INT) BEGIN declare current_balance INT; set current_balance = 2; END 我这样称呼它:

调用存储过程时,我似乎无法让它显示OUT参数。它只显示“0行受影响”,不显示输出变量。输出是已声明的变量的值。这是我的程序

CREATE DEFINER=`root`@`%` PROCEDURE `test`(IN `masterId` INT, IN `subId` INT,  OUT current_balance INT)
BEGIN
    declare current_balance INT;
    set current_balance = 2;   
END
我这样称呼它:
调用test('274','399',@res)

您已经用局部变量重写了参数

我更喜欢为参数命名以避免冲突:

CREATE DEFINER=`root`@`%` PROCEDURE `test`(
    IN in_masterId INT,
    IN in_subId INT, 
    OUT out_current_balance INT
)
BEGIN
    set out_current_balance = 2;   
END;

可能是因为您正在代码块内再次声明当前的_余额?这可能使它成为一个局部变量。