我有下表Incontri:
我希望以越来越高的值更新IdIncontroInterno
;
当转弯等于0时,IdIncontroInterno
字段必须具有增加的值。当转弯增加到0时,必须应用以下公式:
IdIncontroInterno = IdIncontroInterno + (2^Turn);
此外,必须重置idIncontroInterno计数器。 我在更新每个IdIncontroInterno字段时遇到问题,同时在转弯等于0时保持“Auto_increment”值。
我创建了这个(错误的)存储过程..
BEGIN
declare done int default false;
declare turno_ int;
declare idIncontroInterno_ int default 1;
declare a int default 0;
declare cur1 cursor for select Turno, idIncontroInterno from Incontri;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
open cur1;
fetch cur1 into turno_, idIncontroInterno_;
creaLoop : LOOP
if done then
leave creaLoop;
end if;
set idIncontroInterno_ = idIncontroInterno_ + (2^turno_);
end loop;
close cur1;
这是我想要的结果: