MYSQL 如何用update语句 更新 某个字段,让字段值递增

需求,更新数据库某个字段,要求根据创建日期,更新改字段,例如2021-07月的数据,则更新七月的数据为 202107001 、202107002 、202107003…

sql如下:

set @rownum=0;
update t_weighted_management
SET weighting_code =  CONCAT(coal_type ,DATE_FORMAT(create_time,'%Y%m%d'),
SUBSTR(CONCAT('000',(select @rownum := @rownum +1 )),-3))  
WHERE DATE_FORMAT(create_time,'%Y-%m') = '2019-07';

解释:concat函数 拼接字符串,括号内可以有任意多个参数,然后将参数按顺序拼接为一个字符串
substr 函数,截取字符串 -3 参数的意思就是 截取最后三位
重点其实就是select @rownum := @rownum + 1 获取行号的意思

最终结果:分别是create_time 列和 编码列
MYSQL 如何用update语句 更新 某个字段,让字段值递增_第1张图片

你可能感兴趣的:(mysql,更新,自增,字段递增)