MySQL int类型 最大值范围 关于mysql 使用int类型出现 1264 Out of range value for column 错误的解决办法

关于mysql 出现 1264 Out of range value for column , 首先我们了解一下MySQL中int类型的基础知识。

字节

我们都知道计算机是以二进制为基础。存储的基本单位是 Bit,也称为比特二进制位。1bit 可以表示 0 或者 1 两个数字,是可能存在的最小的信息量,任何小于1 bit 的内容都算不上信息。

复杂的内容就要用多 bit 来表示。Byte ,也称为字节,通常用作计量单位。1 byte 等于 8 bit,即 1 byte 可以表示 28 内容。

MySQL 中的字节

先说明一下,在 MySQL 中的整数类型,可以分为 unsigned 和 signed 两种,即无符号和有符号,具体内容这里不展开。tinyint 的大小就是 1 byte,在 signed 类型能表示的数字以下表为例。(注:表格根据《编码》修改,仅做举例说明,不代表 MySQL 实际存储)

二进制数十进制数
10000000-128
10000001-127
10000010-126
10000011-125
11111101-3
11111110-2
11111111-1
000000000
000000011
000000102
011111100124
011111101125
011111110126
011111111127

int 最大值

在上表中我们看到,首位的 bit 用来表示符号,因此在 sigend 是少一位 bit 来存储内容。int 是 4 byte,结合上述,可以得出 int 在 signed 最大值为

2**31−1=2147483647

在 unsigned 中,无需首位 bit 表示符号,因此为

2**32−1=4294967295

解决办法

此时可能是数据值超出了范围,我们可能需要将 int 类型 改成 bigint .

腾讯云限时秒杀【点击购买】

搬瓦工,CN2高速线路,1GB带宽,电信联通优化KVM,延迟低,速度快,建站稳定,搬瓦工BandwagonHost VPS优惠码BWH26FXH3HIQ,支持<支付宝> 【点击购买】!

Vultr$3.5日本节点,512M内存/500G流量/1G带宽,电信联通优化,延迟低,速度快【点击购买】!

阿里云香港、新加坡VPS/1核/1G/25G SSD/1T流量/30M带宽/年付¥288【点击购买】

MySQL int类型 最大值范围 关于mysql 使用int类型出现 1264 Out of range value for column 错误的解决办法

`微信`扫码 加好友

链接到文章: https://www.gkxyz.com/mysql-intleixing-zuidazhifanwei-guanyumysql-shiyongintleixingchuxian-1264-out-of-range-value-for-column.html

推荐站点

  • Akamai(Linode)

    Deploy more with Linux virtual machines, global infrast […]

  • Vultr

    Vultr Global Cloud Hosting – Brilliantly Fast SSD […]

  • 腾讯云 – 产业智变 云启未来

    腾讯云为数百万的企业和开发者提供安全稳定的云计算服务,涵盖云服务器、云数据库、云存储、视频与CDN、域名注册等 […]

  • RAKsmart

    主机商介绍:RAKsmart是知名的美国服务器租用商,包括美国站群服务器、美国cn2服务器、香港服务器等热门产 […]

评论已关闭