MySql使用游标批量更新字段为空的记录

news2024/11/15 19:42:11

目的:因为工作中需要模拟大批量的测试数据、发现有部分历史数据中的唯一编号的字段内容为空,因此需要按顺序填充上对应的字段内容,经查询mysql使用游标方式能快速实现此需求。

具体操作步骤如下:打开Navicate for MySQL软件、连接上对应数据库、新建查询,在查询界面中编写存储 过程,然后执行存储过程即可。

 详细执行脚本如下图:

1、编写存储过程代码如下:

/*存储过程中使用游标批量更新UserID字段为空的记录*/
CREATE PROCEDURE myProcedure() BEGIN
    DECLARE        curID VARCHAR (50);/*当前行对应的主键*/
    DECLARE        curNO INTEGER;/*当前编号数字*/
    DECLARE        doneFlg INT DEFAULT FALSE;-- 游标结束标识*/
    DECLARE        myCursor CURSOR FOR SELECT id FROM    TB_USER WHERE    UserID IS NULL;/*将结束标志绑定到游标*/
    DECLARE        CONTINUE HANDLER FOR NOT FOUND 
    SET doneFlg = TRUE;    
    SET curNO = 100; --从100编号开始编号
    OPEN myCursor;-- 打开游标
    read_loop :
    LOOP-- 取值
        FETCH NEXT FROM myCursor INTO curID;
        IF doneFlg THEN
            LEAVE read_loop;
        ELSE 
            SET curNO = curNO + 1; /*每更新一条记录编号加1*/
            UPDATE TB_USER SET UserID = CONCAT('YHBH-',CONVERT ( curNO, CHAR )) WHERE Id = curID;/*执行更新语句*/
        END IF;
        COMMIT;        
    END LOOP;
    CLOSE myCursor;
END    

2、调用编写好的存储过程命令如下:
CALL myProcedure();

3、执行Sql查看数据库中对应记录已经全部没有字段为空的记录了,命令如下:

select  *  FROM  TB_USER WHERE UserID IS NULL; 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1247039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ARKit增加一个盒子

ARKit增加一个盒子 体验一下ARKit的能力,在室内随便加点小球,然后在AR中显示出来。 效果如下图: 以下为操作流程。 新建项目 新建一个空项目,项目一定要选择 Augmented Reality App,能够省很多的事。 之后的 conte…

【日常总结】如何禁止浏览器 http自动跳转成https

一、场景 二、问题 三、解决方案 3.1 chrome 浏览器 3.2 edge 浏览器: 3.3 Safari 浏览器 3.4 Firefox 浏览器 一、场景 公司网站 http:// 谷歌浏览器中自动转换成 https:// 导致无法访问 二、问题 nginx配置ssl 443接口, https:// 可以访问&…

java操作富文本插入到word模板

最近项目有个需求,大致流程是前端保存富文本(html的代码)到数据库,后台需要将富文本代码转成带格式的文字,插入到word模板里,然后将word转成pdf,再由前端调用接口下载pdf文件! 1、思…

如何一键消除图片里的水印?图片去水印教程一看就会!

如何一键消除图片水印?在现今的数字时代,我们常常会遇到带有水印的图片,而传统的方法往往费时且复杂,让我们感到困扰。那么如何一键消除图片水印呢?今天,我们为您推荐一款非常实用的去水印软件,…

MySQL的体系结构与SQL的执行流程

文章目录 前言体系结构SQL语句的执行流程1、连接MySQL2、查询缓存3、解析SQL语句4、优化SQL语句5、执行SQL语句 总结 前言 如果你在使用MySQL时只会写sql语句的,那么你应该看一下《MySQL优化的底层逻辑》。如果你只了解到sql是如何优化的,那么你应该通过…

想问问各位大佬,网络安全这个专业普通人学习会有前景吗?

网络安全是一个非常广泛的领域,涉及到许多不同的岗位。这些岗位包括安全服务、安全运维、渗透测试、web安全、安全开发和安全售前等。每个岗位都有自己的要求和特点,您可以根据自己的兴趣和能力来选择最适合您的岗位。 渗透测试/Web安全工程师主要负责模…

鼠标拖拽问题,不选中文本不触发单击事件

文章目录 1. 为什么鼠标单击的时候触发了mousemove事件?明明鼠标没有移动2. 鼠标拖拽元素怎么能不触发单击事件?怎么处理鼠标在元素内的相对定位,而不是每次定位到左上角?方式一:拖拽的元素没有注册click监听就不会触发…

k8s集群资源监控工具metrics-server安装

1、下载镜像 docker pull swr.cn-east-2.myhuaweicloud.com/kuboard-dependency/metrics-server:v0.6.22、在任一一个主节点上创建角色,执行下面语句 kubectl create clusterrolebinding kube-proxy-cluster-admin --clusterrolecluster-admin --usersystem:kube-…

免费获取GPT-4的五种工具

不可否认,由OpenAI带来的GPT-4已是全球最受欢迎的、功能最强大的大语言模型(LLM)之一。大多数人都需要使用ChatGPT Plus的订阅服务去访问GPT-4。为此,他们通常需要每月支付20美元。那么问题来了,如果您不想每月有这笔支…

移动应用程序管理的内容、原因和方式

移动应用程序管理(MAM)是一个术语,指的是管理应用程序的整个生命周期,包括从设备安装、更新和卸载应用程序,除了在整个生命周期内管理设备外,MAM 还包括保护应用访问的数据,以及在设备上发现恶意…

vue2 element el-transfer穿梭框组件支持拖拽及排序 已封装,随取随用

项目场景: 项目中有个功能用到穿梭框组件,新版本需要支持穿梭框组件排序,由于element2版本中的穿梭框组件本身不支持排序功能 在此不仅需要支持随意更换顺序,还支持从一侧拖拽至另一侧,具体功能效果图如下&#xff1…

Y-MODEM协议定制上位机

最近在使用N32G031和STM32F10X系列单片机进行IAP,使用的是Ymodem协议。单片机上的软件已经完成了,一般是使用secureCRT这样的工具作为上位机来进行测试,后来想做一个定制化的简单的上位机。在网上找了下资料,以下这篇文章写的使用…

能量不够,AI帮助

问CHAT:有关工程管理的中文参考文献 CHAT回复: 1. 余庆麟. (2009). 工程项目管理[M]. 北京: 机械工业出版社. 2. 刘宁. (2013). 工程建设管理[M]. 北京:清华大学出版社. 3. 谈刚,陈嘉春,尚雅凡. (2014).…

最详细的软件测试面试题整理与分析

前言 时光荏苒,一转眼到了2023年末尾,2024年也快要来了,人员就业市场以往的寒冬也貌似有了转暖的迹象,身边大批的就业人员也开始了紧张的备战之中。 近几周也和多家合作公司的HR进行了沟通,发现虽然岗位就业情况较去年…

2021年06月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 下图中的程序执行一次之后,“我的变量”最终的值是? A:0或者1 B:true或者false C:包含或者不包含 D:成立或者不成立 答案:B 积木“()包含()”是一个条件判断语句,它判…

Unity RenderFeature架构分析

自定义RenderFeature接口流程 URP内部ScriptableRenderPass分析 public、protected属性 renderPassEvent :渲染事件发生的时刻colorAttachments :渲染的颜色纹理列表 m_ColorAttachmentscolorAttachment :m_ColorAttachments[0];depthAttac…

【转载】如何在Macbook上把Ubuntu安装到移动硬盘里

我的设备系统版本、遇到的问题和解决: Mac:macOS Ventura 13.3 Ubuntu:22.04.3 问题: 按照这个教程在【3.3.10】修改完启动项后,Mac系统无法启动,Ubuntu可以正常启动。 原因: Mac找不到启动引导…

自己实名绑定了几个微信号?赶紧来看看

我们都明白,微信的重要性无处不在,它与我们生活的方方面面紧密相连。如今,微信支付已成为我们日常生活中不可或缺的一部分。无论是购物、用餐,还是日常消费,微信支付都能轻松解决。如果你担心携带现金会有遗失的风险&a…

服务台需要跟踪的3个重要指标MTBF+MTTF+MTTR

衡量标准是IT服务管理的核心,可提供有关运营的见解,并帮助确定需要持续改进的领域。通常的服务台指标有助于展示内部运营效率。例如,衡量在规定时间内解决问题的工单数量的 SLA 是展示服务台效率的关键因素。另一方面,故障指标可帮…