通过DMS将SQL文件导入云虚拟主机MySQL数据库时,提示Duplicate entry '1' for key 'PRIMARY'。本文介绍这种情况的可能原因和解决方案。

问题现象

通过DMS将SQL文件导入云虚拟主机MySQL数据库时,提示Duplicate entry '1' for key 'PRIMARY'

导入SQL报错

可能原因

主键重复。主键“1”已经存在,不能再进行添加。

解决方案

  1. 将提示报错的表的主键设置为自动递增。
    1. 启动Navicat for MySQL。
    2. 在菜单栏,选择连接 > MySQL
    3. 在弹出的MySQL-新建连接对话框,输入云虚拟主机数据库信息,单击确定
    4. 在左侧导航栏,左键单击表节点。
    5. 在右侧表区域,找到报错的数据库的表,单击设计表
    6. 在弹出的对话框中,选中主键,再选中自动递增,然后关闭对话框。
      设置自动增长
  2. 检查数据库中是否包含与待导入的SQL文件相同的表。
    根据检查结果执行以下操作:
    • 数据库中已包含相同的表:
      1. 备份当前数据库中的数据。具体操作,请参见云虚拟主机备份和恢复
      2. 在左侧导航栏,右键单击某个相同的表,选择批量操作表 > 批量删除表删除多余表
      3. 在弹出的对话框中,选中所有相同的表,然后单击确定删除表
      4. 执行步骤3
    • 数据库中不包含相同的表:继续执行步骤3
  3. 再次导入SQL文件。
    如果问题仍未解决,请提交工单