Autor Zpráva
Sylar
Profil
Zdravím,

prosím, mohl by mi někdo vysvětlit co přesně znamená číslo v závorce u celočíselného datového typu tinyint, mediumint, smallint, int, bigint ? rozsah čísel datového typu už je předem dané, počet čísel, který se do soupce může uložit to také není ... tak pak už nevím :-] ... poradí mi někdo ? není to sice životně důležité, přesto bych v tom měl rád jasno :-)

Díky
SwimX
Profil
Sylar
pro omezení délky řetězce (maximální velikost je 255) používáme parametr "m", zápis je: datovy_typ(m)
- př.: TINYINT(1), nebo VARCHAR(100)
http://mm.gene.cz/#datove_typy
Sylar
Profil
SwimX
jojo tohle jsem si taky četl v manuálu ale právěže kamarád mi říkal že u celočíselných typů to má trochu jiný význam ...
... ale pokud je to tedy tak, tak UNSIGNED tinyint(1) mi pojme čísla od 0 - 255, ale tou jedničkou to oříznu pouze na 0 - 9 ? Do databáze jsem tedy schopen zapisovat pouze čísla od 0 do 9 ?
SwimX
Profil
Sylar
pokud to tak je, jistej si nejsem, pak ale určitě ne 0-9
BIT nebo BOOL
- synonymum pro TINYINT(1)
takže 0 nebo 1
Sylar
Profil
SwimX
pak sme tedy tam kde sme byli před 5-ti příspěvkama :( :D ... pořád v tom není jasno :(
joe
Profil
Sylar
Je to divné, do teď jsem si myslel, že pokud to bude třeba INT(1), TINYINT(1) apod, pokud to nebude unsigned, tak bych řekl, že jde uložit jen čslo 0 až 9, tedy jen jeden znak. Pokud to teď ale zkusím, do sloupce TINYINT(1) bezproblémů uložím číslo 123

EDIT: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=1&topic=60482
DoubleThink
Profil *
Ten argument neovlivňuje velikost uložiště, má význam jen u ZEROFILL.

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. For example, a column specified as SMALLINT(3) has the usual SMALLINT range of -32768 to 32767, and values outside the range allowed by three characters are displayed using more than three characters.

When used in conjunction with the optional extension attribute ZEROFILL, the default padding of spaces is replaced with zeros. For example, for a column declared as INT(5) ZEROFILL, a value of 4 is retrieved as 00004. Note that if you store larger values than the display width in an integer column, you may experience problems when MySQL generates temporary tables for some complicated joins, because in these cases MySQL assumes that the data fits into the original column width.
Alphard
Profil
už jste to našli, snad jen zdůraznit, že jde jen o zobrazení, rozsah hodnot to neovlivní (link na manuál)

ale kvůli tomu nepíši
pro omezení délky řetězce (maximální velikost je 255) používáme ...
to už neplatí
Sylar
Profil
joe
DoubleThink
Alphard

aha aha ... takže pokud nepoužívám atribut ZEROFILL můžu mít v závorce vlastně "cokoliv" . Pokud ano, není-li počet znaků čísla větší než číslo v závorce, doplní se do této délky nulami ...

// btw omlouvám se administrátorovi že jsem topic špatně zařadil, ale tys mi dal taky zabrat, než jsem ho našel zpět :D

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