RDS 在线DDL诡异报错ERROR 1062 (23000): Duplicate entry

原创 2017年08月04日 21:17:33

RDS上执行报错如下:

MySQL [ad_billing]> ALTER TABLE ad_spending ADD COLUMN impr bigint(20) NOT NULL DEFAULT 0 COMMENT '曝光数' after  `mall_id`;
ERROR 1062 (23000): Duplicate entry '2017-08-04-3-936158' for key 'scene_date_ad'
MySQL [ad_billing]>


可以确定不会有重复数据,因为scene_date_ad是唯一约束字段,再次验证不是数据的问题,因为没有重复记录

MySQL [ad_billing]> select date,scene_id,ad_id,count(1) from ad_spending group by date,scene_id,ad_id having(count(1)>1)
    -> ;
Empty set (0.43 sec)


google资料,看到如下信息:

When running an online DDL operation, the thread that runs the ALTER TABLE statement applies an “online log” of DML operations that were run concurrently on the same table from other connection threads. When the DML operations are applied, it is possible to encounter a duplicate key entry error (ERROR 1062 (23000): Duplicate entry), even if the duplicate entry is only temporary and would be reverted by a later entry in the “online log”. This is similar to the idea of a foreign key constraint check in InnoDB in which constraints must hold during a transaction.
“`

这是RDS实例的bug,再结合到这个表之前做过几百万行的delete from table where pkid=xxxxx;的操作,所以导致碎片化比较严重,加上这个表的业务也在实时操作,所以导致线上alter操作异常触发雷区。

然后rds官方技术支持,建议使用pt-online-schema-change去执行alter操作,参考rds如何使用pt组件:https://help.aliyun.com/knowledge_detail/41734.html

Inception 初探

1,安装下载组件 wget clone https:/github.com/mysql-inception/inception.git rz ll unzip inception-master....
  • mchdba
  • mchdba
  • 2017年07月31日 15:05
  • 528

Puppet安装以及集成Dashboard手册

Puppet安装以及集成Dashboard手册   Puppet简介 puppet是一种Linux、Unix、windows平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件...

ERROR 1062 (23000) at line 26903: Duplicate entry 'onli????' for key 'xxxx_script_name'

1.版本 1)操作系统  cat /etc/issue Red Hat Enterprise Linux Server release 5.5 (Tikanga) Kernel \r on an ...

ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'

1.版本 1)操作系统 cat /etc/issue CentOS release 6.6 (Final) Kernel \r on an \m  cat /proc/v...

Android:打release包时遇到的一个花式报错-ZipException: duplicate entry:xx/xx/xx/xx.class

编译时日志大概是这样的: 还有这样的: 解决过程: 因为项目在两周前刚发布过,所以两周前的时间节点肯定是可以打正式包的。。。reset之后,一样的报错。 那么肯定是开发环境出了问题咯。...
  • jym_ycc
  • jym_ycc
  • 2017年04月07日 10:18
  • 369

趟过(1062 - Duplicate entry '2017070000' for key 'PRIMARY' )大坑

记今天犯过的一个错误 1062 - Duplicate entry '2017070000' for key 'PRIMARY'   相信这个错误做javaweb mysql的同学们都应该遇到这个问题...

Python + SQLAlchemy + MySQL出现IntegrityError, Duplicate entry - 1062

今天用SQLAlchemy更新数据库的时候遇到一个Error: Firebug: WebError Traceback: ⇝ IntegrityError: (IntegrityError) (106...
  • doc_sgl
  • doc_sgl
  • 2013年08月13日 18:09
  • 12454

[Err] 1062 - Duplicate entry '111' for key 'PRIMARY'

在表pm_original_materials上创建触发器: 脚本一: CREATE TRIGGER tri_pm_mat_cost_i AFTER UPDATE ON pm_original_mat...

xcode上编译c语言程序报错:ld: x duplicate symbol for architecture x86_64 clang: error: linker command failed w

【主要内容:】 1. 错误提示 2. 分析错误原因 3. 解决问题办法 一、错误提示 在我们写代码过程中可能会经常遇到这样一个错误: ...
  • xcp_123
  • xcp_123
  • 2017年03月08日 11:00
  • 423

xcode上编译c语言程序报错:ld: x duplicate symbol for architecture x86_64 clang: error: linker command failed

最近使用Xcode编译C语言程序,发现在多文件运行时总会有error提示:duplicate symbol _fp in: /Users/taiyoshimichi/Library/Devel...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RDS 在线DDL诡异报错ERROR 1062 (23000): Duplicate entry
举报原因:
原因补充:

(最多只允许输入30个字)