phpbar.de logo

Mailinglisten-Archive

[php] boolean in mySQL ??

[php] boolean in mySQL ??

Markus Dobel mdobel_(at)_kawo2.rwth-aachen.de
Sun, 24 Sep 2000 19:01:01 +0200


On Sun, Sep 24, 2000 at 06:45:41PM +0200, Martin Klumpp wrote:
> > kann mir einer sagen wie ich in meiner SQL tabelle eine spalte als
> > boolean deklarieren kann ???? ich könnte auch einen TINYINT nehmen 
> > und nur 0 und 1 verweden , aber es geht ja auch um den 
> > speicherplatz.....
> 
> ich mach das ab und zu mit enum('0','1'), aber ob das so geeignet dafür
> ist kann ich Dir nicht sagen ... vielleicht kann mir jemand was dazu
> sagen ...

Das MySQL Manual meint dazu:

ENUM('value1','value2',...) 
	An enumeration. A string object that can have only one value, 
	chosen from the list of values 'value1', 'value2', ..., or 
	NULL. An ENUM can have a maximum of 65535 distinct values.

Und

Column Type
ENUM('value1','value2',...) 

Storage Required
1 or 2 bytes, depending on the number of enumeration values 
(65535 values maximum) 

Heisst, dass ENUM, abhaengig davon wieviele ENUM-Werte man definiert,
intern wie ein TINYINT oder SMALLINT verwaltet wird und dementsprechend
viel Platz benoetigt (Zusaetzlich zur Liste der ENUM-Werte).

Einen "echten" Boolean-Typ (wie z.B. Bit bei MSSQL) gibt es nicht.

MySQL selber verwendet uebrigens ENUM('Y','N') in der Rechteverwaltung.

Gruss, Markus


php::bar PHP Wiki   -   Listenarchive