实现某字段分类自增的SQL插入语句

需求如下:表中有一字段type,值为0、1、2、3;另一字段node_id,需要根据type字段的值分类自增。例如现在插入8条数据,type字段的值分别为0、1、1、1、0、2、3、2,则新增时node_id字段对应的值为000001、100001、100002、100003、000002、200001、300001、200002。

插入的SQL语句如下:

INSERT INTO dm_busi_type (node_id, type)
SELECT CONCAT(#type, LPAD(count(1) + 1, 5, 0)), #type
FROM dm_busi_type WHERE type = #type

#type为MyBatis传入的参数。
CONCAT(a, b)函数的作用为拼接a、b两字符串。
LPAD(a, length, b)函数的作用为在左侧将字符串a使用字符b填充成为length位。例如LPAD(233, 5, 0),结果为00233。

发表评论

电子邮件地址不会被公开。 必填项已用*标注