MySQL BOOL和BOOLEAN列数据types有什么区别?
我正在使用MySQL版本5.1.49-1ubuntu8.1。 它允许我定义两种不同数据types的列: BOOL
和BOOLEAN
。 这两种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可以添加一些值,即使它仅仅是关于预期用途的列。
检查数字types的MySQL文档概述:
http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview.html