我在 mysql 中的存储过程有问题

I have problems with a stored procedure in mysql

我尝试了所有方法,但没有任何效果。我有这个存储过程:

DROP PROCEDURE IF EXISTS socios;
CREATE PROCEDURE socios(in nombre_u varchar(25), out socios INT)
BEGIN
    SELECT COUNT(*) 
    INTO socios 
    FROM socio 
    WHERE NOMBRE_U = nombre_u; 
END

不工作的条件;我能做什么?

如果您对函数参数和列名称使用相同的名称,将会出现 名称歧义。而是使用其他一些相关名称,如下例所示:

DROP PROCEDURE IF EXISTS socios;
CREATE PROCEDURE socios(in _nombre_u varchar(25), out socios INT)
BEGIN
    SELECT count(*) into socios FROM socio where NOMBRE_U = _nombre_u; 
END;

类似答案之一:

您的查询,

DROP PROCEDURE IF EXISTS socios;
CREATE PROCEDURE socios ( in nombre_u varchar(25), out socios INT)
   BEGIN SELECT count(*) into socios FROM socio where NOMBRE_U=nombre_u;
END;

应改为:

DROP PROCEDURE IF EXISTS socios;
CREATE PROCEDURE socios ( in pnombre varchar(25), out psocios INT)
   BEGIN SELECT count(*) into psocios FROM socio where NOMBRE_U=pnombre;
END;

你的主要错误只是变量命名...