Mysql сбрасывает идентификатор автоинкремента по месяцам или по значению поля перед вставкой - PullRequest
0 голосов
/ 15 января 2019

Предыдущий Я установил сериализацию своего идентификатора сзади, но статический перед идентификатором. Я установил свой идентификатор следующим образом:

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, 5 цифр за идентификатором будут автоматически увеличиваться, если вставить новые данные после проверки с помощью SELECT. Затем в 2019 году они изменятся на A1900001. Моя проблема в том, что нам нужно изменить идентификационный код на код отдела и сбросить номер в зависимости от отдела, а также по месяцам.

Демо

Ex. код 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...