我经常在一些表中需要存储一个可以为1或0(true或false,等等)的标志。
我以前用过TINYINT。
我应该改用BIT(1)吗?为什么或者为什么不?
如果您使用的是更高版本的mysql版本,那么5.0.3Bit
不再是它的别名,Tinyint
但是如果您创建了一个bit
列,它还是会得到1 Byte
。
因此使用Bit(1)
或Tinyint(1)
等于,如果表只有1Bit
列,则不会有任何好处。
但是,如果您有更多对/错列,我建议您使用,Bit
因为将位列的每个值放置在相同位置,1 Byte
直到填充为止。
如果您使用mysql较低的版本,那么5.0.3则使用tinyint
或bit
完全可以。如果您查看有关bool
类型的mysql文档,您会发现它是以下内容的别名tinyint
http://dev.mysql.com/doc/refman/5.0/en/numeric-type-
overview.html
布尔,布尔
这些类型是TINYINT(1)的同义词。零值被认为是错误的。非零值被认为是正确的:
BIT是TINYINT(1)的同义词。
问题内容: 这是我的JPA2 / Hibernate定义: 在MySql中,此列解析为bit(1)数据类型- 不适用于我。对于遗留问题,我需要将布尔值映射到tinyint而不是一点点。但是我看不到更改默认数据类型的可能性。有没有? 问题答案: 试试吧。由于某种原因,它没有声明的简短类型名称,因此您必须使用: 这确实映射为INTEGER类型,但可能与TINYINT一起正常工作。 UPDATE:不会
问题内容: 在哪种情况下,您会使用哪种?有什么区别吗?持久性引擎通常使用哪一个来存储布尔值? 问题答案: TINYINT是8位整数值,BIT字段可以存储1位BIT(1)和64位BIT(64)之间。对于布尔值,BIT(1)很常见。
问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能重复: MySql:Tinyint(2)vs tinyint(1)-哪个不同? 之间有什么区别? 问题答案: TinyINT(M)的范围始终是-128 .. + 127有符号或0..255无符号。M是显示宽度。 M表示整数类型的最大显示宽度。最大显示宽度为255。显示宽度与类型可以包含的值的范围无关,如第11.2节“数字类型”中所述。对
问题内容: 哪种列类型最适合在MySQL数据库中使用布尔值?我用,但我的同事用。 问题答案: 这些数据类型是同义词。
本文向大家介绍mysql中TINYINT的取值范围,包括了mysql中TINYINT的取值范围的使用技巧和注意事项,需要的朋友参考一下 在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255(见官方《MySQL 5.1参考手册》http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#n
问题内容: 我正在为一个站点设计一个数据库,在该站点中,我需要使用布尔日期类型来仅存储2个状态,即true或false。我正在使用MySQL。 在使用phpMyAdmin设计数据库时,我发现我同时拥有BOOLEAN数据类型和TINYINT数据类型。 我浏览了不同的文章,有人说TINYINT与BOOLEAN相同,没有区别。有人说BOOLEAN在MySQL中转换为TINYINT。 我的问题是,如果两者