Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在将记录从一个表复制到另一个表,并且有可能某些记录可能已经在我将记录复制到的第二个表中。
由于我要复制很多行,我正在寻找一种方法来忽略来自 mysql 的所有记录已经存在的消息并继续执行 mysql 文件。
有没有办法可以抑制错误消息?
如INSERT语法中所述:
INSERT
该INSERT语句支持以下修饰符: [删除] 如果使用IGNORE关键字,则执行语句时发生的错误将INSERT被视为警告。例如,如果没有IGNORE,重复表中现有UNIQUE索引或PRIMARY KEY值的行会导致重复键错误并且语句被中止。使用IGNORE,该行仍然没有插入,但没有发出错误。
该INSERT语句支持以下修饰符:
[删除]
IGNORE
UNIQUE
PRIMARY KEY
尝试这个:
zcat db.sql.gz | sed -e 's/INSERT/INSERT IGNORE/' | mysql -u user -p dbname