Risposte:
An int
e a smallint
hanno dimensioni diverse e di conseguenza gamme.
Il (5)
è smallint(5)
o int(5)
è chiamato "Numerico Tipo di attributo" e rappresenta la "larghezza di visualizzazione" del campo,
MySQL supporta un'estensione per specificare facoltativamente la larghezza di visualizzazione dei tipi di dati interi tra parentesi seguendo la parola chiave di base per il tipo. Ad esempio,
INT(4)
specifica unINT
con una larghezza di visualizzazione di quattro cifre. Questa larghezza di visualizzazione facoltativa può essere utilizzata dalle applicazioni per visualizzare valori interi di larghezza inferiore alla larghezza specificata per la colonna riempiendoli a sinistra di spazi. (Cioè, questa larghezza è presente nei metadati restituiti con set di risultati. Sia che venga utilizzato o meno dipende dall'applicazione.)Se utilizzato insieme all'attributo facoltativo (non standard)
ZEROFILL
, il riempimento predefinito degli spazi viene sostituito con zeri. Ad esempio, per una colonna dichiarata comeINT(4) ZEROFILL
,5
viene recuperato un valore di0005
.
Questa è una "estensione" di MySQL e zerofill è una "estensione" su un'estensione.
Per il metodo sano di controllare la visualizzazione di un tipo numerico, non usare Attributi di tipo numerico e invece usare