¿Cómo puedo configurar el formato de autoincrement en 0001 en MySQL?

¿Cómo puedo hacer que MySQL aumente automáticamente en formato de 4 dígitos?

Entonces, en lugar de ‘1’, ‘0001’?

Intente agregar el atributo ZEROFILL al campo.

¿Podría dejarlo como un número entero y formatearlo para humanos en su SQL, por ejemplo, para rellenar con ceros a 4 caracteres de ancho

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

O use zerofill y especifique el ancho deseado al declarar la tabla:

 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 | +--------+ 

MySQL admite ZEROFILL en columnas enteras:

 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) 

Es posible que deba considerar el uso de una pequeña letra (5 dígitos) o recorte / relleno.

Si necesita la columna auto_increment en un formato de relleno cero, le sugiero que la muestre como tal y no intente almacenarla en la base de datos de esa manera.

En PHP, puede usar el siguiente código para mostrar o usar el ID:

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

Para rellenar la base de datos, configure la columna de identificación en ZEROFILL

Pero si solo es para fines de visualización, recomiendo usar LPAD SELECT RIGHT (‘000000’ + yourNum, 6);

es el campo un número entero? si es así, la respuesta es “¿por qué? ¡Es un número entero!” 😉