1

我正在将记录从一个表复制到另一个表,并且有可能某些记录可能已经在我将记录复制到的第二个表中。

由于我要复制很多行,我正在寻找一种方法来忽略来自 mysql 的所有记录已经存在的消息并继续执行 mysql 文件。

有没有办法可以抑制错误消息?

4

2 回答 2

4

INSERT语法中所述:

INSERT语句支持以下修饰符:

[删除]
  • 如果使用IGNORE关键字,则执行语句时发生的错误将INSERT被视为警告。例如,如果没有IGNORE,重复表中现有UNIQUE索引或PRIMARY KEY值的行会导致重复键错误并且语句被中止。使用IGNORE,该行仍然没有插入,但没有发出错误。
于 2013-07-15T14:44:30.077 回答
0

尝试这个:

zcat db.sql.gz | sed -e 's/INSERT/INSERT IGNORE/' | mysql -u user -p dbname
于 2014-08-30T05:52:12.073 回答