更新时间:2024-05-15 GMT+08:00
如何处理表中存在主键重复的数据
场景
DDM实例的逻辑表中已存在主键数据类型边界值的记录,如果插入的数据超过主键数据类型的范围,表中会出现主键重复的数据。
处理方法
- 登录云服务管理控制台。
- 在RDS for MySQL的“实例管理”页面,查找DDM实例对应的RDS for MySQL实例,单击目标RDS for MySQL实例名称,进入实例的“基本信息”页面。
- 在基本信息页面的左侧导航栏中选择“参数修改”。
- 在“参数”页签搜索“sql_mode”,单击“值”列中的下拉框,勾选“STRICT_ALL_TABLES”或“STRICT_TRANS_TABLES”方式,单击“保存”。
“STRICT_ALL_TABLES”和“STRICT_TRANS_TABLES”方式属于严格模式。严格模式控制MySQL如何处理非法或丢失的输入值。
- 非法:数据类型错误或超出范围。
- 丢失:如果某列定义为非空列且没有DEFAULT值,当新插入的行不包含该列时,该行记录丢失。
- 在进行扩容时,如果DDM的实例版本低于2.4.1.3。在选择MySQL实例的参数sql_mode时,请不要选择ANSI_QUOTES。不能使用双引号来引用文字字符串,因为它们被解释为标识符。
关于“sql_mode”更多信息,请参考Server SQL Modes。
图1 修改实例参数
- 在“DDM实例管理”页面,重启DDM实例。
父主题: RDS相关类