delimiter $
create PROCEDURE phoneDeal()
BEGIN
DECLARE ids varchar(64);
-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
-- 游标
DECLARE cur_account CURSOR FOR SELECT id FROM shop_category WHERE pid='0';
-- 将结束标志绑定到游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 打开游标
OPEN cur_account;
-- 遍历
read_loop: LOOP
-- 取值 取多个字段
FETCH NEXT from cur_account INTO ids;
IF done THEN
LEAVE read_loop;
END IF;
set @i = (SELECT UUID());
update shop_category set id = @i WHERE id=ids;
update shop_category set id=UUID(), pid = @i WHERE pid=ids;
END LOOP;
CLOSE cur_account;
END $
call phoneDeal();