问题简述:
MySQL 存贮过程中定义的变量千万不要和和表中的名字一样,如果一样,再从表中取数据时,就会导致错误,而查询起来很难查出来。
举例 代码如下:
DECLARE col int;
set col =-1;
update mytTab set col =10 where pk =1;
select col into @col from mytTab where pk = 1;
本意是想获取 col 在pk=1时的值,但是并不是,获得的值是 -1;
修改代码如下:
DECLARE col int;
set col =-1;
update mytTab set col =10 where pk =1;
select t.col into @col from mytTab t.where t.pk = 1;
因此为了避免产生这种大乌龙,请老老实实的写上别名,不能省略。
maraSun 2022-02-18 BJFWDQ