变量从未通过查询更新,并始终具有默认值
BEGIN
DECLARE sP INT DEFAULT 1;
DECLARE cBB INT DEFAULT 0;
SELECT sprice, cb INTO sP, cBB FROM item WHERE id = 2;
END
这里需要一些指导,以解决它的错误(MySQL版本5.5.20)
答案 0 :(得分:1)
将变量cb
重命名为另一个 -
BEGIN
DECLARE sP INT DEFAULT 1;
DECLARE cB_var INT DEFAULT 0;
SELECT sprice, cb INTO sP, cB_var FROM item WHERE id = 2;
END
变量名称应与字段名称不同。
答案 1 :(得分:0)
以下两种方法效果很好,不需要DECLARE变量
BEGIN
SELECT @sP := sprice, @cBB := cb FROM item WHERE id = 2;
END
或者如果我们想用INTO
子句
BEGIN
SELECT sprice, cb INTO @sP, @cBB FROM item WHERE id = 2;
END
区别在于,在第一个语句中,您可以拥有不需要存储在变量中的列,而在第二个... INTO ...
中,每个列出的列必须存储在变量中。