Was ist der Unterschied zwischen den Spaltendatentypen MySQL BOOL und BOOLEAN?


87

Ich verwende MySQL Version 5.1.49-1ubuntu8.1. Es ermöglicht mir, Spalten mit zwei verschiedenen Datentypen zu definieren: BOOLund BOOLEAN. Was sind die Unterschiede zwischen den beiden Typen?

Antworten:


133

Sie sind beide Synonyme für TINYINT (1) .


11
Was Adam sagt. In MySQL gibt es keinen aktuellen BOOLEAN-Typ.
Mchl

25

Wie in anderen Kommentaren festgestellt, sind sie Synonyme für TINYINT (1).

* Also, warum machen sie sich die Mühe, zwischen bool, boolean, tiny * int (1) zu unterscheiden?

Meistens Semantik.

Bool und Boolean: MySQL konvertiert diese standardmäßig in den Typ tinyint. In einer MySQL-Anweisung, die zum Zeitpunkt dieses Schreibens abgegeben wurde, heißt es: "Wir beabsichtigen, in einer zukünftigen MySQL-Version eine vollständige Behandlung boolescher Typen gemäß Standard-SQL zu implementieren."

0 = FALSE 1 = TRUE

TINYINT: Besetzt ein Byte; reicht von -128 bis +127; oder 0 - 256.


In diesem Vergleich häufig erwähnt: Nach MySQL 5.0.3 - Bit: Verwendet 8 Bytes und speichert nur Binärdaten.


2
Dies beantwortet die Frage nicht wirklich. Was ist der Unterschied zwischen BOOLund BOOLEAN?
Nalply

7
Frühere Beiträge hatten bereits festgestellt, dass beide gleichbedeutend mit TINYINT sind (1). Im Idealfall lautet die nächste Frage: "Warum haben sie dann zwischen den Datentypen unterschieden?"
Sechster vor dem

3
@Sixthfore das Bit: Uses 8 bytes and stores only binary data.ist falsche Information. Wenn Sie Ihrer Tabelle eine Bitspalte hinzufügen, belegt diese in jedem Datensatz ein ganzes Byte und nicht nur ein einzelnes Bit. Wenn Sie eine zweite Bitspalte hinzufügen, wird diese im selben Byte gespeichert. Die neunte Bitspalte benötigt ein zweites Byte Speicher.
Kolyunya

4

Eines ist mir gerade aufgefallen: Mit einer Spalte, die in MySql als BOOL definiert ist, generiert Spring Roo korrekt Java-Code, um den Wert für einen Booleschen Wert zu entfernen. Vermutlich kann die Angabe von BOOL einen Wert hinzufügen, auch wenn dies nur in der Natur eines Hinweises auf das liegt Verwendungszweck der Säule.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.