小编Mic*_*l L的帖子

MySQL存储过程选择返回不正确的值

我注意到我的存储过程中的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

3
推荐指数
1
解决办法
1085
查看次数

标签 统计

mysql ×1