代码之家  ›  专栏  ›  技术社区  ›  Pahoran Alanis

在MySQL Workbench中导入数据库时出错

  •  0
  • Pahoran Alanis  · 技术社区  · 6 年前

    我为现有数据库执行了备份文件,当我想将此文件导入新数据库时,出现此错误,导入过程停止:

    第38行出现错误1062(23000):键“PRIMARY”的重复条目“86”

    您知道如何在导入过程中忽略此错误吗?我使用的是MySQL Workbench,我知道这个错误是因为主键在某些记录中重复了,不应该这样。

    1 回复  |  直到 6 年前
        1
  •  0
  •   D.Christodoulou    6 年前

    您可以启用 ignore_dup_key 主键上的选项。

    这将给您一个警告,而不是错误,查询将丢弃触发错误的行(在您的情况下,是您尝试导入的主键值为“86”的行),而不是失败。

    在用于导入数据库的查询中,在关于表的特定部分中:

    CREATE TABLE db.mytable(
    id NOT NULL,
    PRIMARY KEY (id ASC) 
    WITH (IGNORE_DUP_KEY = ON));
    

    Shadow评论后为MySQL编辑

    要忽略MySQL中的重复项,可以使用INSERT ignore语句或INSERT。。。在重复密钥更新时。

    有关这些声明的更多信息,您可以查看官方文档
    ( https://dev.mysql.com/doc/refman/5.5/en/insert.html )