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 |
#2 · Zasláno: 2. 2. 2009, 23:18:37
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 |
#3 · Zasláno: 2. 2. 2009, 23:28:43
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 |
#4 · Zasláno: 2. 2. 2009, 23:35:23
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 |
#5 · Zasláno: 2. 2. 2009, 23:40:42
SwimX
pak sme tedy tam kde sme byli před 5-ti příspěvkama :( :D ... pořád v tom není jasno :( |
||
joe Profil |
#6 · Zasláno: 2. 2. 2009, 23:54:26 · Upravil/a: joe
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 * |
#7 · Zasláno: 3. 2. 2009, 00:03:46
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 |
#8 · Zasláno: 3. 2. 2009, 00:04:25
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 |
#9 · Zasláno: 3. 2. 2009, 00:21:23 · Upravil/a: Sylar
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 |
||
Časová prodleva: 15 let
|
0