我正在尝试使用参数创建一个过程。但是当我在WHERE
条件下使用它们时,就好像从来没有那样。他们被忽略了。
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被正确填充,但无论我放入播放器,结果总是66.(该表有66行!)
我做错了什么???
答案 0 :(得分:6)
重命名参数,
CREATE PROCEDURE p (IN _player TEXT, OUT num INT)
BEGIN
SELECT COUNT(*) INTO num FROM `sg_playerstats` WHERE `player` = _player;
END
你之所以得到这个,是因为碰巧有名字冲突。