我注意到我的存储过程中的select语句总是返回相同的值,无论我用什么参数调用我的存储过程.这是代码:
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$$
Run Code Online (Sandbox Code Playgroud)
x总是返回相同的值,无论我调用哪个id测试.我注意到x的值始终是Paper表第一行中paper_id的值.
但是,如果我在存储过程之外运行相同的查询,我会得到预期的值.
存储过程中出现什么问题会导致该值出现偏差?
mysql ×1