Come posso aumentare automaticamente MySQL nel formato a 4 cifre?Come posso impostare il formato autoincrement su 0001 in MySQL?
Quindi invece di '1' creare '0001'?
Come posso aumentare automaticamente MySQL nel formato a 4 cifre?Come posso impostare il formato autoincrement su 0001 in MySQL?
Quindi invece di '1' creare '0001'?
Prova ad aggiungere l'attributo ZEROFILL al campo.
è il campo un numero intero? se è così, la risposta è "perché? è un numero intero!" ;-)
Cosa intendi? –
@ [32]: Voglio dire, qual è il punto di zero-padding di un intero? Non cambia il valore. È solo per scopi di visualizzazione? –
@ [32]: non importa, ho risposto alla mia domanda - questo è solo per scopi di visualizzazione (vedi http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html) –
Potrebbe lasciarlo come un intero e formattarlo per gli esseri umani nel vostro SQL, ad esempio, per riempire con zeri a 4 caratteri larghi
select lpad(idcolumn,4,'0') from mytable;
o utilizzare ZEROFILL e specificare la larghezza desiderata quando dichiara la tavola :
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 |
+--------+
Come soluzione alternativa ma buona. Grazie –
Se avete bisogno della colonna AUTO_INCREMENT in un formato imbottita pari a zero, vi suggerisco di visualizzare come tale e non tentare di memorizzare nel database in questo modo.
In PHP, è possibile utilizzare il seguente codice per visualizzare o comunque utilizzare il ID:
$padded_id = str_pad($id, 4, '0');
Bel modo, non lo sapevo. –
MySQL supporta ZEROFILL sulle colonne interi:
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)
potrebbe essere necessario esaminare usando un piccolo segno (5 cifre), o taglio/imbottitura.
Per pad nel database impostare la colonna id per ZEROFILL
Ma se per gli scopi dell'esposizione soltanto mi consiglia di utilizzare LPAD Selezionare Destra ('000000' + yourNum, 6);
Ulteriori informazioni sui tipi di dati numerici: http://dev.mysql.com/doc/refman/5.0 /en/numeric-types.html – matpie