当前位置:主页 > 查看内容

如何处理表中存在主键重复的数据_分布式数据库中间件 DDM_常见问

发布时间:2021-10-26 00:00| 位朋友查看

简介:场景一 DDM实例的逻辑表中已存在主键数据类型边界值的记录,如果插入的数据超过主键数据类型的范围,表中会出现主键重复的数据。 处理方法 登录云服务管理控制台。 在RDS的 “实例管理” 页面,查找DDM实例对应的RDS for MySQL实例,单击目标RDS实例名称,进……

场景一

DDM实例的逻辑表中已存在主键数据类型边界值的记录,如果插入的数据超过主键数据类型的范围,表中会出现主键重复的数据。

处理方法

  1. 登录云服务管理控制台。
  2. 在RDS的“实例管理”页面,查找DDM实例对应的RDS for MySQL实例,单击目标RDS实例名称,进入实例的“基本信息”页面。
  3. 在基本信息页面的左侧导航栏中选择“参数修改”
  4. “参数”页签搜索“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。不能使用双引号来引用文字字符串,因为它们被解释为标识符。

      例如:select * from test where tb = "logic"。

    关于“sql_mode”更多信息,请参考Server SQL Modes

    图1 修改实例参数

  5. “DDM实例管理”页面,重启DDM实例。

场景二

DDM实例的拆分表(hash\range\mod)联合主键,如果拆分键数据中有插入0和1的话,一定会出现重复主键。

处理方法

  1. 登录云服务管理控制台。
  2. 在RDS的“实例管理”页面,查找DDM实例对应的RDS for MySQL实例,单击目标RDS实例名称,进入实例的“基本信息”页面。
  3. 在基本信息页面的左侧导航栏中选择“参数修改”
  4. “参数”页签搜索“sql_mode”,单击“值”列中的下拉框,勾选“NO_AUTO_VALUE_ON_ZERO”方式,单击“保存”

    图2 修改实例参数

  5. “DDM实例管理”页面,重启DDM实例。

本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!
上一篇:DetectImageFaces - 智能媒体管理 下一篇:没有了

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐