MySQL BOOL和BOOLEAN列数据types有什么区别?

我正在使用MySQL版本5.1.49-1ubuntu8.1。 它允许我定义两种不同数据types的列: BOOLBOOLEAN 。 这两种types有什么区别?

它们都是TINYINT(1)的同义词。

如其他评论所build立的,它们是TINYINT(1)的同义词。

* 那么,他们为什么要区分bool,boolean,tiny * int(1)呢?

主要是语义。

布尔和布尔:MySQL默认将这些转换为tinyinttypes。 根据本文写作之前所做的MySQL声明,“我们打算在未来的MySQL版本中按照标准SQL实现完整的布尔types处理”。

0 = FALSE 1 = TRUE

TINYINT:占用一个字节; 范围从-128到+127; 或者0-256。


通常在这个比较中提出:MySQL 5.0.3之后 – 位:使用8个字节,只存储二进制数据。

有一件事我刚刚注意到 – 在MySql中定义为BOOL的列中,Spring Roo正确地生成Java代码以将值解组为布尔值,所以可能指定BOOL可以添加一些值,即使它仅仅是关于预期用途的列。