MySQL中tinyint(2)的最大值是多少?

时间:2010-10-15 06:12:32

标签: mysql

tinyint(2)类型的列允许的最大值是多少?

是否允许使用255或99之类的值?我感到困惑,因为(2) tinyint(2)仅表示显示...我是否正确?

4 个答案:

答案 0 :(得分:20)

答案 1 :(得分:12)

MySQL 5.0 Reference Manual: Numeric Types

  

显示宽度不会限制可以存储在列中的值的范围。它也不会阻止比列显示宽度更宽的值正确显示。

修改:否。请注意,UNSIGNED是影响范围的非标准属性。您的问题中给出的值都不是普通 TINYINT(2)的正确上限。

编辑评论编辑:信任文档,除非有理由不这样做。如果有些东西看似腥,TIAS(试试看)。

答案 2 :(得分:6)

对于tinyint数据类型:
如果db列是SIGNED:min:-128,max:127
如果db列是UNSIGNED:min:0,max:255
只是这个。
更多帮助! :
http://dev.mysql.com/doc/refman/5.1/en/integer-types.html

答案 3 :(得分:0)

我相信这个问题的正确答案是:

255

不是127.

查看此页面:Mysql Integer types

如果你不使用负数,那么其他答案没有告诉你,最大值可以是255。

如果您使用的是负数,那么最大值只能是127.

这真的是unsignedsigned字的含义,遗憾的是没有人向你解释这一点,所以我可以看出为什么它令人困惑。

usigned表示不能包含负数,因此如果您将列设置为unsigned,则可以使用255作为最大值。如果您未明确将列设置为unsigned,则表示它将接受负数(因此为signed列),在这种情况下,最大值现为127

其他答案在技术上是正确的,因为默认情况下,Mysql会将所有整数列设置为signed(能够使用负数)。我只是认为这个答案可以解释一些事情,或许与你原来的问题更密切相关。