Witam. Chciałem zapytać ile pamięci zajmuje typ ENUM. Nigdzie nie moge tego znaleźć, a przez to nie wiem czy aby wstawić do bazy typ boolean lepiej używać ENUM czy 1-bajtowego typu TINYINT.
orson
6.09.2004, 14:08:25
witam ...
TINYINT ma 1 bajt ... nie ma mniejszej wartosci ... wiec jezeli zalezy ci na wielkosci to wlasnie to ... ENUM przechowuje wszystkie mozliwe do wyboru elementy w naglowku tabeli [mniej wiecej] w wierszach przechowywane sa tylko indexy kolejnych elementow z listy ... jako SMALLINT [65.xxx mozliwych indexow] ... wiec jezeli chodzi o miejsce to tinyint a jezeli chodzi o wygode to ENUM [mozna miec wiecje wartosci i wyglada to ladniej moim zdaniem] ... wiecej: http://dev.mysql.com/doc/mysql/en/Numeric_types.html http://dev.mysql.com/doc/mysql/en/ENUM.html
pozdrawiam
chfast
6.09.2004, 20:29:31
Cytat(orson @ 2004-09-06 14:08:25)
wiec jezeli chodzi o miejsce to tinyint a jezeli chodzi o wygode to ENUM [mozna miec wiecje wartosci i wyglada to ladniej moim zdaniem]
Może i ładniej ale baza nie jest do oglądania. Dzięki za pomoc.
spenalzo
7.09.2004, 02:35:25
ENUM ma taką zalete, że nawet jak sprobujesz wepchnąć tam inna wartość niż ustalone, to przyjmie wartość domyślną.
orson
7.09.2004, 07:22:57
Cytat(chfast @ 2004-09-06 20:29:31)
Może i ładniej ale baza nie jest do oglądania. Dzięki za pomoc.
witam ...
jak to nie do ogladania w twoim przypadku robisz ENUM('true','false') i masz albo true albo false .... jak zrobisz TINYINT to masz 0 albo 1 ... wiec enum napewno wyglada lepiej przy "ogladaniu" bazy
pozdrawiam
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.