mysql数据库使用循环更新数据_mysql批量更新数据,即:循环select记录然后更新某一字段...

事情的原委:

今天遇到一个问题:一个数据表case_folder_info想要实现自定义排序功能,就在表里新加了一个字段SORT_NUMBER,由于表里存在已有数据,所以这个SORT_NUMBER字段都为空,但要想实现上移、下移、置顶等功能的话,需要里面有默认数据,所以我想给这个字段里默认有一些排序的值。

思考解决办法:

1、用c#写个小程序,然后取出来所有数据,UPDATE一遍,这个还得新建项目,添加数据库连接字符串,添加数据库类库引用,太麻烦。

2、用数据库自带的命令行方式实现。

最终经过我头脑的一番小斗争,虽然sql不太熟但还是决定尝试一下吧。

sql实现的思路:

由于命令行中无法直接使用declare这样使用变量,所以干脆用非常规的方式来解决吧,先建一个临时的存储过程,在存储过程中实现我要想的循环赋值,然后使用完后再删除这个存储过程就可以了。

具体的sql语句:

/*判断是否存在,如果存在就删除*/

drop procedure if exists tempProcedure_Test;/*取一个系统中绝对不会用到的存储过程名称*/

/*创建临时存储过程*/

create procedure tempProcedure_Test()

BEGIN

declare isDone int default 0; /*判断是否还有记录*/

declare intNumber int default 1;/*用于自增的变量*/

declare tempId char(36); /*每条记录循环时的临时I

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值