Autor Zpráva
Sylar
Profil *
Zdravím,

chtěl bych se zeptat nebo spíš požádat o vysvětlení zápisu:

varchar (10)
tinyint (10)
int (10)
bigint (10)


Varchar je mi celkem jasné, číslo v závorce značí kolik znaků mohu do pole zapsat, ale co znamená ta 10ka u čísel ? Někdo mi říkal že je to maximální počet míst které číslo může mít v tomto případě by to teda bylo 9 999 999 999 ? kromě tinyint samozřejmě.
Mike8748
Profil
http://mm.gene.cz/
nightfish
Profil
http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html
Another extension is supported by MySQL for optionally specifying the display width of integer data types in parentheses following the base keyword for the type (for example, INT(4)). This optional display width is used to display integer values having a width less than the width specified for the column by left-padding them with spaces.

The display width does not constrain the range of values that can be stored in the column, nor the number of digits that are displayed for values having a width exceeding that specified for the column.

MySQL podporuje další rozšíření, které umožňuje volitelně určit, na kolik znaků se zarovná číselný datový typ (určeno číslem v závorce). Toto číslo se používá při zobrazování hodnot a to tak, že se číslo zleva doplní mezerami.

Nastavení šířky pro zobrazení neovlivňuje rozsah hodnot, které lze ve sloupci uložit, ani počet číslic, které jsou zobrazeny v případě, že je číslo delší, než uvedená šířka.
Sylar
Profil *
to Mike8748
http://mm.gene.cz/ znám, ale tam to bohužel není moc vysvětlené, "jen" seznam toho nejdůležitějšího

to nightfish
pokud to tedy správně chápu číslo v závorce u číselných datových typů je celkem nepodstatné, protože pouze určuje na kolik znaků se má číslo zarovnat v db. Je důležité pouze při použití modifikátoru ZEROFILL, kvůli doplnění nul. Velikost maximálního čísla, které je dá do sloupce uložit je tedy dána samotným datovým typem TINYINT -127 - 127 unsigned 0 - 255 atd
Stejně tak pokud je počet číslic větší než číslo v závorce ( pro zarovnání) ) se i tato čísla zobrazí.

POkud se tedy nepoužívá ZEROFILL není celočíselné datové typy lepší psát bez čísla v závorce ?

Chápu to správně ?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0