Mailinglisten-Archive |
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