以前,我将ID序列化设置在后面,但将静态序列化设置在ID前面。 我将ID设置如下:
SELECT CONCAT('A',DATE_FORMAT(NOW(),'%y'),
LPAD(right(regist_ID,5)+1,5,'0')) as regnum
FROM media_use
WHERE regist_ID like CONCAT('A',DATE_FORMAT(NOW(),'%y'),'%')
ORDER BY regist_ID
然后
INSERT INTO .....
结果为A1800001
,如果使用SELECT
检查后插入新数据,则ID后5位将自动递增。然后在2019年更改为A1900001
。我的问题是,我们需要将ID码更改为部门代码,并根据部门和月份重新设置编号。
例如表中提供了代码MA-0119-001,但在新代码后面插入了3位而不是+1。因此,代码重复。插入后的结果必须为:
|regist_ID |
+------------+
|MA-0119-001 |
|MA-0119-002 | //result after +1
|ENG-0119-001| //reset no. due different dept name
|MA-0219-001 | //reset no. due different month