В чем разница между типами данных MySQL BOOL и BOOLEAN column?

Я использую MySQL версии 5.1.49-1ubuntu8.1. Это позволяет мне определить столбцы двух разных типов данных:BOOL и BOOLEAN. Каковы различия между этими двумя типами?

4 ответов


Они как синонимы TINYINT (1).


Как установлено в других комментариях, они являются синонимами для TINYINT (1).

*Итак, почему они беспокоятся о различении между bool, boolean, tiny * int (1)?

в основном семантика.

Bool и Boolean: MySQL по умолчанию преобразует их в тип tinyint. В заявлении MySQL, сделанном примерно во время написания этой статьи, "мы намерены реализовать полную обработку логического типа в соответствии со стандартным SQL в будущем выпуске MySQL."

0 = ЛОЖНЫЙ 1 = TRUE

TINYINT: занимает один байт; колеблется от -128 до +127; или, 0-256.


обычно поднимается в этом сравнении: После MySQL 5.0.3 -- Bit: использует 8 байт и хранит только двоичные данные.


одна вещь, которую я только что заметил - с столбцом, определенным как BOOL в MySql, Spring Roo правильно генерирует Java-код, чтобы unmarshall значение к логическому, поэтому, предположительно, указание BOOL может добавить некоторое значение, даже если это только в характере намека о предполагаемом использовании столбца.


проверьте обзор документов MySQL числовых типов:

http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html