V definicích tabulky MySQL je rozdíl mezi INT(5)
a SMALLINT(5)
? Nebo oba představují stejnou velikost?
int
a smallint
mají různé velikosti a následně rozsahy.(5)
Je smallint(5)
nebo int(5)
se nazývá "Atribut číselného typu" a představuje "šířku zobrazení" pole,
MySQL podporuje rozšíření pro volitelné určení šířky zobrazení celočíselných datových typů v závorkách následujících za základním klíčovým slovem pro daný typ. Například
INT(4)
určujeINT
se šířkou zobrazení čtyř číslic. Tuto volitelnou šířku zobrazení mohou aplikace použít k zobrazení celočíselných hodnot, jejichž šířka je menší než šířka specifikovaná pro sloupec, přičemž je doleva vyplní mezerami. (To znamená, že tato šířka je přítomna v metadatech vrácených se sadami výsledků. Zda se používá nebo ne, závisí na aplikaci.)Při použití ve spojení s volitelným (nestandardním) atributem
ZEROFILL
je výchozí výplň mezer nahrazena nulami. Například pro sloupec deklarovaný jakoINT(4) ZEROFILL
je hodnota5
Načtena jako0005
.
Toto je MySQL "rozšíření" a zerofill je "rozšíření" na rozšíření.
Pro rozumný způsob ovládání zobrazení číselného typu nepoužívejte atributy Numeric type a místo toho použijte