报错 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数据库修改自动递增值
其中tablename为表的名称,num为要设置的新的自动递增值,此时再Insert一条数据,自动递增值即为num,不过num必须要大于等于现在已有的自动递增值,否则SQL语句会执行成功,但是实际上不起作用。
2:id的数据类型改为bigin类型