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) //拼接字符串

浙公网安备 33010602011771号