报错 1062:Duplicate entry '4294967295' for key 'PRIMARY'

报错 1062:Duplicate entry '4294967295' for key 'PRIMARY'

4294967295:是2的32次方=4294967296(无符号),带符号再除以2,负数比正数多一个

产生原因:


id自增已达上限,再插入数据也只能插入这个id值,所以才会冲突,改成bigint类型即可


解决办法:

1:重新初始化自增起始值:

删除最大编号的记录后,该编号不可重用。

可在建表时可用“AUTO_INCREMENT=n”选项来指定一个自增的初始值。

可用alter table table_name AUTO_INCREMENT=n命令来重设自增的起始值。


MySQL数据库修改自动递增值

?
alter table tablename auto_increment=num

其中tablename为表的名称,num为要设置的新的自动递增值,此时再Insert一条数据,自动递增值即为num,不过num必须要大于等于现在已有的自动递增值,否则SQL语句会执行成功,但是实际上不起作用。


2:id的数据类型改为bigin类型


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

金双石的小墨

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

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

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

打赏作者

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

抵扣说明:

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

余额充值