web-dev-qa-db-ja.com

MySQLワークベンチでエラーが発生してもSQLクエリを続行する

MySQLワークベンチを使用して、Joomla sample_data.sqlファイルをローカルデータベースにインポートしています。エラーが発生した場合でも、エラーの原因となった行をスキップすることにより、インポートを続行します。

クエリがエラーで停止するのを防ぐために、SQLの接頭辞を付けることができるものはありますか?

51
Steve

MySQL Workbenchで、「エラー時にスクリプトの実行を停止する」クエリのオプションのチェックを外しました。

enter image description here

ジンババオの答えもうまくいくようです。


新しいバージョンでは、「失敗したステートメントの後にSQLスクリプトの実行を続行するかどうかを切り替える」を使用します。

Toggle whether execution of SQL script should continue after failed statements

32
Steve

試してみる

mysql --force < sample_data.sql 

MySQLのヘルプセクションは言う

 -f, --force         Continue even if we get an sql error.
82
Zimbabao

INSERT IGNOREを使用することもできます

INSERT IGNORE INTO mytable
 (primaryKey, field1, field2)
VALUES
 ('1', 1, 2),
 ('1', 3, 4), //will not be inserted
 ('2', 5, 6); //will be inserted
35