Antworten:
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.
BOOL
und BOOLEAN
?
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.
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.
Überprüfen Sie die Übersicht der numerischen Typen in den MySQL-Dokumenten:
http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html