我正在將記錄從一個表複製到另一個表,並且有可能某些記錄可能已經在第二個表中,我正在將記錄複製到。執行sql文件時忽略mysql錯誤消息
由於有很多行我正在複製,我正在尋找一種方法來忽略所有記錄已經存在的消息從MySQL並繼續執行mysql文件。
有沒有一種方法可以抑制錯誤信息?
我正在將記錄從一個表複製到另一個表,並且有可能某些記錄可能已經在第二個表中,我正在將記錄複製到。執行sql文件時忽略mysql錯誤消息
由於有很多行我正在複製,我正在尋找一種方法來忽略所有記錄已經存在的消息從MySQL並繼續執行mysql文件。
有沒有一種方法可以抑制錯誤信息?
由於INSERT
Syntax下記載:
的
INSERT
語句支持以下修飾符:[ deletia ]
- 如果使用
IGNORE
關鍵字,在執行INSERT
語句被當成出現的錯誤相反的警告。例如,如果沒有IGNORE
,表中重複表中現有的UNIQUE
索引或PRIMARY KEY
值的行會導致重複鍵錯誤,並且語句會中止。使用IGNORE
,該行仍未插入,但未發出錯誤。
另請參閱[「INSERT IGNORE」與「INSERT ... ON DUPLICATE KEY UPDATE」](http://stackoverflow.com/a/548570) – eggyal
試試這個:
zcat db.sql.gz | sed -e 's/INSERT/INSERT IGNORE/' | mysql -u user -p dbname
'INSERT IGNORE ...' – eggyal
我不想插入重複記錄。 –