Chciałem zapytać, bo nie jestem pewny. Jeśli deklarujemy pole, np. tinyint(1), to oznacza, że raczej liczba będzie jednocyfrowa? Raczej, bo jeśli wpiszemy dwucyfrową lub większą to nic się nie stanie? W końcu pole może przechowywać, w moim przypadku, 0-255 (unsigned).
I co jeśli w polu będą liczby raczej dwucyfrowe, ale może się zdarzyć, że w końcu granica 100 zostanie przekroczona: zadeklarować tinyint(2), czy tinyint(3)?
pzdr
Spawnm
31.03.2009, 14:05:00
tak trudno sprawdzić ?
z tego co pamiętam to ucina nadmiar... ale najlepiej sprawdź i nam powiedz
peter13135
31.03.2009, 14:07:43
ja wiem tylko tyle że jak jest np varchar16 a w formularzu dam więcej niż 16, to i tak zapisze tylko pierwsze 16 znaków ;]
a jak to jest z int to sie chętnie dowiem
nospor
31.03.2009, 14:08:50
przy INTACH nawiasy sa potrzebne tylko dla ZEROFILL
http://dev.mysql.com/doc/refman/5.0/en/numeric-types.htmljak nie uzywasz ZEROFILL to poprostu tych nawiasow z liczba nie podawaj i sie nimi nie przejmuj
Czyli nie ma to żadnego wpływu na zajmowane miejsce, szybkość itp.? Nawet jeśli będę przechowywał tylko 0 i 1, to nie ma znaczenia, czy napisze tinyint czy tinyint(1)?
nospor
31.03.2009, 14:41:06
bez znaczenia. tinyint zawsze zajmuje 1 bajt