Как автоматически увеличить значение для varchar в MYSQL - PullRequest
1 голос
/ 03 февраля 2020

Можно автоматически увеличивать числа в MySQL. Есть ли способ увеличить varchar в MYSQL, например, «SL00001» будет увеличивать до «SL00002»?

1 Ответ

3 голосов
/ 03 февраля 2020

Вы можете сделать это автоматически, используя движок MyISAM и применив комментарий Ник"Просто используйте числовое значение c id и SELECT CONCAT('SL', LPAD(id, 5, '0')) AS id":

CREATE TABLE test (prefix CHAR(2),
                   num INT NOT NULL AUTO_INCREMENT,
                   PRIMARY KEY (prefix, num),
                   val INT) ENGINE = MyISAM;
INSERT INTO test (prefix, val) VALUES
('AX',11),
('AX',22),
('LZ',33),
('AX',44),
('LZ',55),
('LZ',66);
SELECT *, CONCAT(prefix, LPAD(num, 5, '0')) AS id 
FROM test
ORDER BY id;
prefix | num | val | id     
:----- | --: | --: | :------
AX     |   1 |  11 | AX00001
AX     |   2 |  22 | AX00002
AX     |   3 |  44 | AX00003
LZ     |   1 |  33 | LZ00001
LZ     |   2 |  55 | LZ00002
LZ     |   3 |  66 | LZ00003

дБ <> скрипка здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...