【问题标题】:difference between `id int(10)` and `id bigint(10)` [duplicate]`id int(10)`和`id bigint(10)`之间的区别[重复]
【发布时间】:2014-05-13 09:46:21
【问题描述】:

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

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

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

我想知道关注

  1. id int(10)id bigint(10)有什么区别
  2. 我用过id int(100)有什么问题吗。
  3. 上面的 id 应该使用什么数据类型(对于 id 值 21 到 100 位数)。

【问题讨论】:

标签: mysql


【解决方案1】:

int 类型数据的数字定义为 int(10), int(1), int(100) 都与 int 相同并且工作相同。但是 intbigint 不同,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 到整数类型

注意:“无符号”类型仅在 MySQL 中可用

【讨论】:

  • int(1) 将仅存储一位数字数据。 int(5) 将存储 5 位数据??
  • 即使你设置了 int(1) 仍然可以存储最多 10 位数据,因为 int 数据类型最多可以存储 10 位数据。
  • 如果你真的想节省空间和优化你的数据类型,那么你应该在你的要求是 int(1) 的地方使用 tinyint。
  • 所以在我的表中我提到了 int(100) 这也将存储最多 10 位的数据
  • 我们如何在数字数据类型中存储超过 20 位的值。还是仅限于 20 位数字
猜你喜欢
  • 2011-11-24
  • 2014-02-09
  • 2011-06-09
  • 2019-03-05
  • 2013-03-07
  • 1970-01-01
  • 2012-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多