oneside Geschrieben 16. März 2006 Geschrieben 16. März 2006 Hi Leutz, wie speichert Ihr Werte true/false oder 1/0 in einer MySQL Datenbank? Benutzt Ihr dafür A: tinyint(1) für 0=false und 1=true B: enum('Y','N') C: enum(1,0) D: char(1) für 0=false und 1=true E: noch andere? Eigentlich ist ja enum das richtige Feld dafür, ich sehe aber auch immer wieder andere Varianaten wie z.B. "D: char(1) für 0=false und 1=true" Welche Vorteile haben die einzelnen Feldtypen für diese Verwendung und wirkt sich dies auf die Abfrageperformance in irgendeiner Beziehung aus? Ich habe bis jetzt immer Variante "B: enum('Y','N')" benutzt. Gruß Oneside
Whatever Geschrieben 16. März 2006 Geschrieben 16. März 2006 A: tinyint(1) für 0=false und 1=true Dann spart man sich in PHP (und jeder anderen Sprache, die 0 als False und den Rest als true interprtiert) nen bischen arbeit.
oneside Geschrieben 16. März 2006 Autor Geschrieben 16. März 2006 Dann spart man sich in PHP (und jeder anderen Sprache, die 0 als False und den Rest als true interprtiert) nen bischen arbeit. Und wieso dann nicht "C: enum(1,0)"? Wo liegt der Unterschied? Ist es durch ein enum Feld in der Datenbankverwaltung nicht leichter ersichtlich, dass dieses Feld für True oder False benutzt wird?
baba007 Geschrieben 16. März 2006 Geschrieben 16. März 2006 tinyint hat die größe 1 Byte, enum 1 oder 2 Byte. Allerdings kann Enum 65535 Werte haben und tinyint nur 256. True oder False würde ich daher mit tinyint abbilden, zumal es einfacher ist eine Zahl als ein varchar zu benutzen.
geloescht_JesterDay Geschrieben 16. März 2006 Geschrieben 16. März 2006 wie speichert Ihr Werte true/false oder 1/0 in einer MySQL Datenbank? MySQL kennt den Typ Boolean. Allerdings ist es (bis jetzt) nur ein Alias auf den Typ TinyInt BOOL, BOOLEAN These types are synonyms for TINYINT(1). The BOOLEAN synonym was added in MySQL 4.1.0. A value of zero is considered false. Non-zero values are considered true.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden