MySQL loop循环实现将表中字段值刷成不同的uuid值

发布时间 2023-03-30 10:59:52作者: 盗代码
delimiter //
# 创建一个存储过程
create procedure update_table_id()
begin
    # 声明计数器
    declare i int default 1;
    # 声明截至数,本次是取表最后一个id
    declare j int default (SELECT MAX(id) FROM t_place);
    # 开始循环
    num:
    loop
        # 查询计数器记录的值
        select i;
        # 判断大于等于停止计数
        if i > j then
            leave num;
        end if;
            # 需要循环的语句
				update t_place set history_id = REPLACE(UUID(),'-',''),is_replacement = 0 where id=i and history_id is NULL;
        # 计数器自增1
        set i = i + 1;
    # 结束循环
    end loop num;
end //
call update_table_id();