执行sql文件时忽略mysql错误消息

时间:2013-07-15 14:41:43

标签: mysql

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

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

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

2 个答案:

答案 0 :(得分:4)

正如INSERT Syntax所述:

  

INSERT语句支持以下修饰符:

[ deletia ]
     
      
  • 如果使用IGNORE关键字,则执行INSERT语句时发生的错误将被视为警告。例如,如果没有IGNORE,则复制表中现有UNIQUE索引或PRIMARY KEY值的行会导致重复键错误,并且语句将中止。使用IGNORE时,仍未插入行,但未发出错误。
  •   

答案 1 :(得分:0)

试试这个:

zcat db.sql.gz | sed -e 's/INSERT/INSERT IGNORE/' | mysql -u user -p dbname