2012-08-16 306 views
0

我不能理解int(1)和int(8)之间的区别,因为int(1)也可以有999.9999。int(1)和int(8)有什么区别?

如果是这样,差异在哪里? INT数据类型上的长度修饰符是否会影响可以存储的值的范围?例如,一个六位数字可以存储在INT(1)列中吗?

+0

的数据类型是INT。长度修饰符(例如'(1)')对可以存储的值没有影响。 该长度修饰符可供客户端应用程序使用,该客户端应用程序可以将其解释为应该用于显示该值的字符数的规范。 INT数据类型允许最多10位十进制数字,因此最多需要11个字符才能显示它(10位数字加上负号的1个字符)。 – spencer7593 2012-08-16 16:15:09

+0

@ spencer7593 - 编辑问题以插入答案不是有效的编辑。尽管如此,我试图在问题中加入改进的问题措辞。看看这个,如果你仍然觉得它应该重新打开,请告诉我们。 – 2012-08-16 17:36:54

+0

@Brad Larson - 我同意最初的问题有点含糊,但要想知道OP的要求并不难 - 他问的是长度修饰符对INT数据类型的影响。虽然我在撰写答案时,在发布之前,这个问题被视为“不是真正的问题”。这是一个真正的问题,我只是想帮助这个特定的用户。 – spencer7593 2012-08-16 18:51:37

回答

2

这是一个可选的定义。它没有定义int字段的大小。它定义了表示。如果将ZEROFILL添加到定义中,则该字段的其余部分将用零填充,否则用空格填充。

NUMERIC TYPES

的好处解释here

+0

我想问的是 例如: personel_number无符号的TINYINT(8) ,然后写有一个记录:999 999 personel_numer为256 现在INT示例 personal_number无符号整数(2) 写创纪录的999 999 个人编号为999 999 所以相同astiny int int(x),“x”的效果是什么? – 2012-08-16 16:23:26

+0

这让我很震惊。所有的文档,教课程int(3),int(7),int(8)...但数字没有效果。 ı米在crisses.just愤怒bird.oo不! o真主!...所以结果:数字对int,mediumint,smallint没有影响,但是影响tinyinnt,char,varchar?真的吗? 'char'和'varchar'的 – 2012-08-16 17:02:40

+2

'()'定义了字符串的长度。对于'int'types,它只是表示数字的其余部分将如何显示。对于数字类型,它定义了精度。你应该研究[数据类型](http://dev.mysql.com/doc/refman/5.0/en/data-types.html) – 2012-08-16 18:40:34

相关问题