微小的int存储db中的有限值

时间:2013-09-18 05:52:20

标签: mysql

我创建了一个名为e2s的字段,其数据类型为tinyint。当我存储500的值时,它会将其转换为127。现在我将其更改为smallint。它存储了值500。为什么? inttinyintsmallintmediumintbigint之间存储值的区别是什么。

2 个答案:

答案 0 :(得分:1)

看看http://dev.mysql.com/doc/refman/5.0/en/integer-types.htmlTINYINT仅存储1个字节的数据,因此允许从-128到127的整数存储范围。

另一方面,

SMALLINT使用2个字节的存储空间,范围从-32768到32767.

请注意您要在TINYINTSMALLINT列中存储的内容。例如,将auto_increment PK列设置为SMALLINT数据类型是一个坏主意,因为您可能很容易压倒它的容量。

答案 1 :(得分:0)

请参阅有关整数类型的MySql参考:

http://dev.mysql.com/doc/refman/5.1/en/integer-types.html

它显示了您可以存储的最小值和最大值。