我正在使用MySQL版本5.1.49-1ubuntu8.1。它使我可以定义两种不同数据类型的列: BOOLBOOLEAN. 。两种类型之间有什么区别?

有帮助吗?

解决方案

它们都是同义词 tinyint(1).

其他提示

正如其他评论所建立的,它们是Tinyint的同义词(1)。

*所以,为什么他们要与布尔,布尔,小小*int(1)?

主要是语义。

Bool and Boolean:MySQL默认情况将其转换为TinyInt类型。根据在撰写本文时的MySQL声明中,“我们打算根据标准SQL在将来的MySQL版本中实施完整的布尔类型处理。”

0 = false 1 = true

Tinyint:占据一个字节;范围从-128到+127;或,0 - 256。


在此比较中通常提出:在MySQL 5.0.3之后 - 位:仅使用8个字节和商店仅二进制数据。

我刚刚注意到的一件事 - 在MySQL中定义为bool的列,Spring Roo正确地生成了Java代码以将值分解为布尔值,因此大概是指定bool可以添加一些值,即使仅在有关提示的性质上,列的预期用途。

检查数字类型的MySQL文档概述:

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top