Duplicate entry ‘65535‘ for key ‘PRIMARY‘ Error sql 错误,已解决

本文介绍了一种常见的MySQL错误“Duplicateentry '65535' for key 'PRIMARY'”,该错误源于smallint数据类型的存储限制。smallint的最大值为65535,当尝试插入超出此范围的值时会引发错误。解决方案是将受影响的字段更改为int类型,以支持更大的数值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Duplicate entry '65535' for key 'PRIMARY' Error sql,已解决

遇到这种问题,一般可以考虑到mysql字段的数据类型问题

看以下的表格:

类型

开始

结束

可存储长度

备注

bigint 

-2^63 (-9223372036854775808)

2^63-1

(9223372036854775807)

2^64-1

(18,446,744,073,709,551,615)

存储大小为 8 个字节

int

-2^31

(-2,147,483,648)

2^31-1

(2,147,483,647)

2^32-1

(4,294,967,295)

存储大小为 4 个字节

smallint 

-2^15

(-32,768)

2^15-1 (32,767) 

2^16-1

(65535)

存储大小为 2 个字节

tinyint 

0

255

2^8-1(255)

存储大小为 1 字节

这样可以看出,根据以上的问题出现存在的问题是,数据类型设置成了“smallint”,他的最大存储数据65565,也就是他的最大下标就是65535,这样就需要把数据类型改成更大的“int”数据类型,ok了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沈恩华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值