嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

周梦康 发表于 2015-10-26 2278 次浏览 标签 : Mysql

免费领取阿里云优惠券 我的直播 - 《PHP 进阶之路》

该问题出现不是首次了,做个笔记备忘。

string(98) "SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '16777215' for key 'PRIMARY'"
string(57) "INSERT INTO `xxx` (uid,tid) VALUES (2922427,7453062)"

之前我遇到这个主键冲突都是用 insert ignore 或者是 repalce into,但是对于上述情况却不好使,卡在这个16777215这块已经不是第一次,之前该表因为某个漏洞被人注入过,删除了很多数据,在恢复了数据之后,该表就出现了问题,普通修复无效,我导出其全部数据导入新的临时表,然后又更换表名,以取代老表,之前是解决了,但是现在这个问题又出现了,而且还是这个主键值。

坑了爹!一看建表语句,发现自己想多了,看来对这个数字还不敏感!该主键为mediumint也就是说其最大值为16777215,晚上把主键的类型修改成int

改表的时候可以通过监控Rows_read来看进度。

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表