跳到主要内容

解释int(10) 和 bigint(10) 能存储的数据大小一样吗?

参考答案:

int(10)bigint(10) 是数据库中用于定义整数类型的常见表示,特别是在 MySQL 中。但这两个数据类型的存储能力和范围是不同的。

  1. int(10)

    • 这是一个标准的 4 字节整数。
    • 它可以存储从 -2,147,483,648 到 2,147,483,647 的值(对于有符号整数)。
    • 对于无符号整数,范围是从 0 到 4,294,967,295。
    • 数字 10 在这里只是显示宽度,表示在显示时至少显示 10 个字符宽度,如果值的位数少于 10,则会在前面补零。但这并不限制存储范围。
  2. bigint(10)

    • 这是一个 8 字节的整数。
    • 它可以存储从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的值(对于有符号整数)。
    • 对于无符号整数,范围是从 0 到 18,446,744,073,709,551,615。
    • 同样,数字 10 在这里也只是显示宽度。

所以,尽管 int(10)bigint(10) 在显示时都至少显示 10 个字符宽度,但它们的存储能力和范围是明显不同的。bigint 能够存储的整数范围远大于 int

需要注意的是,这里的解释是基于 MySQL 的,不同的数据库管理系统可能会有所不同。