我创建了一个名为e2s的字段,其数据类型为tinyint
。当我存储500
的值时,它会将其转换为127
。现在我将其更改为smallint
。它存储了值500
。为什么?
int
,tinyint
,smallint
,mediumint
,bigint
之间存储值的区别是什么。
答案 0 :(得分:1)
看看http://dev.mysql.com/doc/refman/5.0/en/integer-types.html。 TINYINT
仅存储1个字节的数据,因此允许从-128到127的整数存储范围。
SMALLINT
使用2个字节的存储空间,范围从-32768到32767.
请注意您要在TINYINT
或SMALLINT
列中存储的内容。例如,将auto_increment
PK列设置为SMALLINT
数据类型是一个坏主意,因为您可能很容易压倒它的容量。
答案 1 :(得分:0)