Какая разница между типами данных столбцов MySQL BOOL и BOOLEAN?

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

+72
источник поделиться
4 ответа

Они оба являются синонимами для TINYINT (1).

+119
источник

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

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

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

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

0 = FALSE 1 = TRUE

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


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

+17
источник

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

+3
источник

проверить обзор документов DOM в формате MySQL:

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

+2
источник

Посмотрите другие вопросы по меткам или Задайте вопрос