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?

Ikostia
quelle

Antworten:

133

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

Adam Prax
quelle
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.

Sechstens
quelle
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.

Simonie
quelle