Tato další šířka zobrazení „funkcí“ je docela matoucí, protože v jiných typech sloupců, jako je CHAR
je udává délku.
Zde je krátký rozpis:
- Nejdůležitější:není s uvedením "úložného prostoru" nebo "počtu číslic". Říká pouze, jak jsou data v tomto sloupci formátována než se vrátí. INT(5) může uložit stejné hodnoty jako INT(16) nebo INT(255) - všechny tři mohou uložit všechny (a pouze) hodnoty, které jsou platné pro INT. INT(255) nemůže uložit číslo s 255 číslicemi. Úložný prostor pro všechny z nich je prostor, který zabírá INT.
- Pokud používáte
ZEROFILL
ve sloupci s šířkou zobrazení a řetězcová reprezentace uloženého čísla je kratší než šířka zobrazení, bude doplněn nulami. Pokud je delší, nic se neděje. Pokud zvolíte INT(5) a hodnota je 13, bude vrácena jako 00013. Pokud je hodnota 123456, bude vrácena jako 123456. - Pokud nepoužíváte
ZEROFILL
, nebude tam vůbec žádná výplň (žádné mezery a podobně) - Pokud používáte
ZEROFILL
, musíte si být vědomi toho, že sloupec bude takéUNSIGNED
- V každém případě je při dotazu na metadata tabulky vrácena šířka zobrazení. Aplikace by tedy mohla vědět, jak mají být data formátována.
Nelíbí se mi šířka displeje, protože vrstva úložiště "ví" o vizuální prezentaci uložených dat. Kromě toho si nejsem vědom žádného užitku.