MySQL:bigint Vs int

时间:2011-01-22 17:38:10

标签: mysql database-design int biginteger auto-increment

我一直在使用int(10)并且注意到Wordpress使用bigint(20) - 使用bigint(20)和int(10)进行id自动增量有什么不同?我应该将哪一个用于id列?

`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,

Vs的

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

感谢。

2 个答案:

答案 0 :(得分:61)

根据MySQL Numeric Types手册页的详细信息,差异纯粹是可以存储的最大值(对于bigint(20)为18,446,744,073,709,551,615,对于int(10)为4,294,967,295)

顺便说一下,除非你使用ZEROFILL,否则(20)和(10)的使用在很大程度上是无关紧要的。 (即:它实际上并没有改变存储数量的大小 - 这完全取决于类型。)

但是,实际上应该注意的是,除非您是 真正 活跃的博客,否则您很快就不会达到这些限制中的任何一个。

答案 1 :(得分:10)

唯一的区别是类型的范围。 INT长度为32位,而BIGINT长度为64位,因此可以存储更大的数字,例如123456789123456789(无法存储为INT)。< / p>

以下是MySQL整数类型的完整列表:http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html