Подтвердить что ты не робот

Как установить формат автоинкремента в 0001 в MySQL?

Как я могу сделать автоматическое увеличение MySQL в четырехзначном формате?

Итак, вместо '1' сделайте '0001'?

4b9b3361

Ответ 1

Попробуйте добавить в поле атрибут ZEROFILL.

Ответ 2

Не могли бы вы оставить его как целое число и отформатировать его для людей в вашем SQL, например, чтобы заполнить нулями до 4 символов в ширину.

select lpad(idcolumn,4,'0') from mytable;

Или используйте zerofill и укажите желаемую ширину при объявлении таблицы:

create table tmpfoo (
   mykey int(6) zerofill not null auto_increment, 
   primary key(mykey)
);

insert into tmpfoo values(1),(2);

select * from tmpfoo;
+--------+
| mykey  |
+--------+
| 000001 |
| 000002 |
+--------+

Ответ 3

Если вам нужен столбец auto_increment в нулевом заполненном формате, я предлагаю вам отображать его как таковой, а не пытаться сохранить его в базе данных таким образом.

В PHP вы можете использовать следующий код для отображения или иного использования идентификатора:

$padded_id = str_pad($id, 4, '0');

Ответ 4

MySQL поддерживает ZEROFILL в целых столбцах:

mysql> create table foo (the_key int unsigned zerofill not null 
       auto_increment primary key);
Query OK, 0 rows affected (0.21 sec)

mysql> insert into foo SET the_key = Null;
Query OK, 1 row affected (0.00 sec)

...

mysql> insert into foo SET the_key = Null;
Query OK, 1 row affected (0.00 sec)

mysql> select * from foo;
+------------+
| the_key    |
+------------+
| 0000000001 |
| 0000000002 |
| 0000000003 |
| 0000000004 |
| 0000000005 |
| 0000000006 |
| 0000000007 |
| 0000000008 |
+------------+
8 rows in set (0.00 sec)

Вам может потребоваться изучить небольшую строку (5 цифр) или обрезку/дополнение.

Ответ 5

Чтобы заполнить базу данных, установите столбец id в ZEROFILL

Но если его только для отображения я рекомендую использовать LPAD  SELECT RIGHT ('000000' + yourNum, 6);

Ответ 6

- целое число? если да, то ответ: "почему? целое!"; -)