Заполните auntoincrement с 0 на левой стороне - PullRequest
0 голосов
/ 28 февраля 2019

Я работаю в системе счетов и использую MariaDB в качестве базы данных.Дело в том, что у меня есть поле автоинкремента, но мне нужно, чтобы данные были автоинкрементными и имели 10 цифр, например:

0000000001

, а не только число 1.

можно это сделать?

Ответы [ 3 ]

0 голосов
/ 28 февраля 2019

Поля с автоинкрементом являются числовыми полями, поэтому значения хранятся во внутреннем числовом формате.Чтобы получить вывод с ведущими нулями, я предлагаю заполнить его в операторе выбора или в клиенте, который отображает значения.

0 голосов
/ 12 марта 2019

Единственное использование для (10) в INT(10) - для вашего вопроса:

id INT(10) UNSIGNED ZEROFILL AUTO_INCREMENT
                    ^^^^^^^^
0 голосов
/ 28 февраля 2019

Использовать LPAD:

SELECT
    LPAD(id, 10, '0')
FROM yourTable;

Хотя вышесказанное должно работать, технически вы должны преобразовать числовой столбец id с автоинкрементом в текст, прежде чем использовать его в LPAD.В этом случае вы должны использовать это:

SELECT
    LPAD(CAST(id AS CHAR(10)), 10, '0')
FROM yourTable;

Демо

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