mysql 某一字段按一定规则循环更新(例:把用户手机号循环更新,每次加1,18800000000,18800000001,18800000002.。。。)

//查询
SET @rank = 0;
SELECT phone,CONCAT(LEFT (18800000000,11 - char_length(@rank :=@rank + 1)) ,@rank),char_length(@rank + 1) FROM `el_user` ORDER BY created_at;
//更新
SET @rank = 0;//设置初始值
UPDATE el_user SET phone = CONCAT(LEFT (18800000000,11 - char_length(@rank :=@rank + 1)) ,@rank);

@rank :=@rank + 1 //每执行一次rank加1
char_length(@rank :=@rank + 1) //计算rank长度
LEFT (18800000000,11 - char_length(@rank :=@rank + 1)) //字符串从左截取N位
CONCAT(a,b) //拼接字符串

 

posted @ 2021-08-30 11:08  知冷知热  阅读(412)  评论(0)    收藏  举报