Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL] int/tinyint
Forum PHP.pl > Forum > Przedszkole
bmL
Proste pytanko:
chcę przechować w bazie danych informację typu boolean ale może to być równie dobrze 1/0 i zastanawiam się w jakim polu lepiej takie dane przechowywać jako, że nie znalazłem czegoś takiego jak boolean dla bazy danych zastanawiają mnie 2 opcje:
- int(1)
- tinyint(1)
jeżeli się nie mylę to pomimo, że w tym wypadku ich zakres liczb jest taki sam to int będzie zajmować 4 bajty a tinyint 1 bajt tak?
kwiateusz
http://dev.mysql.com/doc/refman/5.0/en/num...e-overview.html

Cytat
BOOL, BOOLEAN

These types are synonyms for TINYINT(1). A value of zero is considered false. Non-zero values are considered true


czyli mozesz podac jako typ pola bool i podczas tworzenia bazy mysql sam zamieni to na tinyint smile.gif
bmL
Ahha, dzięki.
Ale ciągle mnie zastanawia czy int(1) zajmuje na pewno 4 bajty? w końcu rozmiar zmiennej zależy chyba od jej zakresu liczb a w tym przypadku będzie to 0-9.
kwiateusz
tinyint zajmuje 1 bajt i ma zakres -127 do 127 ew 0-255, a int rzeczywiscie zajmuje 4 bajty wiec stosowanie int to marnowanie 3 bajtow na kazdym rekordzie
webdice
Cytat(bmL @ 11.07.2008, 22:20:51 ) *
Ahha, dzięki.
Ale ciągle mnie zastanawia czy int(1) zajmuje na pewno 4 bajty? w końcu rozmiar zmiennej zależy chyba od jej zakresu liczb a w tym przypadku będzie to 0-9.


Tu nie ma znaczenia czy to będzie jedna cyfra czy będzie ich więcej, w bazie danych dany rekord będzie zajmował określoną ilość miejsca nawet gdy jest pusty.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.