Поле Mysql, автоинкремент и одинаковая длина - PullRequest
2 голосов
/ 26 июня 2011

Я хотел создать поле одинаковой длины. все столбцы с именем 'id' должны иметь вид 000001, 000002 .. 999999, а не 1, 2, .. 999999. Если бы я хотел поле длиной 6 цифр с varchar (6) auto_increment.

Большое спасибо!

Ответы [ 3 ]

4 голосов
/ 26 июня 2011

Чтобы сделать это, вы должны использовать опцию ZEROFILL при создании поля. Например

CREATE TABLE MyTable(
ID INTEGER(11) ZEROFILL AUTO_INCREMENT 
,SomeValue Varchar(100)
,PRIMARY KEY(ID)
);

Если вам нужно только 6 цифр, используйте

ID INTEGER(6) ZEROFILL AUTO_INCREMENT

Вместо 11, перечисленных в первой части. Однако после того, как вы достигнете 1 000 000, столбцы больше не будут дополнены до той же длины, поскольку все значения ниже 1 000 000 будут иметь только 6 цифр. Однако он будет продолжать увеличиваться после 6 указанных цифр вплоть до максимального значения для целого числа (2 миллиарда).

2 голосов
/ 26 июня 2011

Mysql имеет атрибут zerofill. если вы хотите заполнить до 6, вы делаете

int(11) zerofill
2 голосов
/ 26 июня 2011

Вы, вероятно, захотите использовать int для этого, на самом деле. Добавьте атрибут zerofill в поле, и он должен делать то, что вы хотите.

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