`id int(10)`和`id bigint(10)`之间的区别

时间:2014-04-02 08:40:10

标签: mysql

我正在创建一个表,我正在使用整数主键字段 我正在创建表格

CREATE TABLE `post` (
 `id`  int(100) NOT NULL AUTO_INCREMENT,
 `description` varchar(100),
   PRIMARY KEY (`id`)
 );

我读了这个Numeric Types。根据这个,我们可以存储int和bigint中小于20位的值。

我想了解关于

的信息
  1. id int(10)id bigint(10)
  2. 之间的区别
  3. 我使用id int(100)是否有任何问题。
  4. 我应该使用什么数据类型用于上面的id(对于id值21到100) 位)。

1 个答案:

答案 0 :(得分:0)

没有为int类型数据定义数字的意义,因为int(10),int(1),int(100)都与int相同并且工作方式相同。但是 int bigint 不同,bigint将占用比int更多的空格。详细信息如下 -

•tinyint    : 1 byte, -128 to +127 / 0 to 255 (unsigned)
•smallint   : 2 bytes, -32,768 to +32,767 / 0 to 65,535 (unsigned)
•mediumint  : 3 bytes, -8,388,608 to 8,388,607 / 0 to 16,777,215 (unsigned)
•int/integer: 4 bytes, -2,147,483,648 to +2,147,483,647 / 0 to 4,294,967,295 (unsigned)
•bigint     : 8 bytes, -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 / 0 to 18,446,744,073,709,551,615 (unsigned)

签名:可以包含-ve值(默认为整数类型数据类型)

unsigned:不能包含-ve值,并且具有从0到整数类型的值

注意:" unsigned"类型仅在MySQL中可用