3
我注意到,我的存储过程中的select语句总是返回相同的值,无论我调用存储过程的参数是什么。代码如下:MySQL存储过程选择返回不正确的值
DELIMITER $$
CREATE PROCEDURE TEST(IN id INT)
BEGIN
DECLARE x INT DEFAULT 0;
select id;
SELECT paper_id
INTO x
FROM Paper
WHERE ID = id
limit 1;
select x;
END$$
无论我用什么ID进行测试,x总是返回相同的值。我注意到x的值始终是我的Paper表的第一行中的paper_id的值。
但是,如果我在存储过程之外运行相同的查询,我会得到期望的值。
存储过程内部出现什么问题会导致该值偏移?
完全正确,我觉得现在真的很愚蠢哈哈哈 – 2010-12-03 00:41:19