
# 如何处理表中存在主键重复的数据
#### 场景
DDM实例的逻辑表中已存在主键数据类型边界值的记录，如果插入的数据超过主键数据类型的范围，表中会出现主键重复的数据。
#### 处理方法
1. 登录云服务管理控制台。
2. 在RDS for MySQL的"实例管理"页面，查找DDM实例对应的RDS for MySQL实例，单击目标RDS for MySQL实例名称，进入实例的"基本信息"页面。
3. 在基本信息页面的左侧导航栏中选择"参数修改"。
4. 在"参数"页签搜索"sql_mode"，单击"值"列中的下拉框，勾选"STRICT_ALL_TABLES"或"STRICT_TRANS_TABLES"方式，单击"保存"。 
   ![](https://support.huaweicloud.com/ddm_faq/public_sys-resources/note_3.0-zh-cn.png)
   "STRICT_ALL_TABLES"和"STRICT_TRANS_TABLES"方式属于严格模式。严格模式控制MySQL如何处理非法或丢失的输入值。
   - 非法：数据类型错误或超出范围。
   
   - 丢失：如果某列定义为非空列且没有DEFAULT值，当新插入的行不包含该列时，该行记录丢失。
   
   - 在进行扩容时，如果DDM的实例版本低于2.4.1.3。在选择MySQL实例的参数sql_mode时，请不要选择ANSI_QUOTES。不能使用双引号来引用文字字符串，因为它们被解释为标识符。 例如：select \* from test where tb = "logic"。
     
   
   
   关于"sql_mode"更多信息，请参考[Server SQL Modes](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html)。
   图1修改实例参数   
   ![](https://support.huaweicloud.com/ddm_faq/zh-cn_image_0276356597.png)
   
   
5. 在"DDM实例管理"页面，重启DDM实例。
 
