MySQL过程中的WHERE条件被忽略

MySQL过程中的WHERE条件被忽略,mysql,sql,select,procedure,Mysql,Sql,Select,Procedure,我正在尝试用参数建立一个过程。但是,当我在条件下使用它们时,就好像从来没有过一样。他们完全被忽视了 DELIMITER // DROP PROCEDURE IF EXISTS p // CREATE PROCEDURE p (IN player TEXT, OUT num INT) BEGIN SELECT COUNT(*) INTO num FROM `sg_playerstats` WHERE `player` = player; END // DELIMITER ; Num

我正在尝试用参数建立一个过程。但是,当我在
条件下使用它们时,就好像从来没有过一样。他们完全被忽视了

DELIMITER //

DROP PROCEDURE IF EXISTS p //

CREATE PROCEDURE p (IN player TEXT, OUT num INT)
BEGIN
  SELECT COUNT(*) INTO num FROM `sg_playerstats` WHERE `player` = player; 
END

//

DELIMITER ;
Num被正确填充,但无论我在player中添加什么,结果总是66。(该表有66行!)

我做错了什么?

重命名您的参数

CREATE PROCEDURE p (IN _player TEXT, OUT num INT)
BEGIN
  SELECT COUNT(*) INTO num FROM `sg_playerstats` WHERE `player` = _player; 
END

之所以会出现这种情况,是因为它碰巧有名称冲突。

哦!我从来没有想到过!非常感谢。