我的数据集
表格名称 Users
unique_id uid
123487.1 1000 123488.1
123489.1
123490.1
如上所示,这是我现有的数据,我想添加uid,因此我的数据应显示如下。
unique_id uid
123487.1 1000 123488.1 1001 123489.1 1002 123490.1 1003
问题来源于stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您可以创建如下过程:
CREATE PROCEDURE uid_update()
BEGIN
DECLARE Done_c INT; DECLARE v_min_id INT; declare number_plus int; declare v_cur int;
DECLARE curs CURSOR FOR select ROW_NUMBER() OVER (order by unique_id) rn
from testTable where uid is null;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET Done_c = 1;
SELECT max(uid) INTO number_plus FROM testTable;
OPEN curs;
SET Done_c = 0; REPEAT FETCH curs INTO v_cur;
select min(unique_id) into v_min_id
from testTable
where uid is null;
update testTable
set uid = number_plus + v_cur
where uid is null
and unique_id = v_min_id ;
commit;
UNTIL Done_c END REPEAT;
CLOSE curs;
END 然后像这样调用该过程:
call uid_update; 然后将根据您的要求更新值。