[MySQL] Duplicate Entryでも止めずに実行する

MySQLでINSERTのSQLを流したのですが、同じ定義があるとDuplicate Entryとか言って怒られます。
MySQL Workbenchだと、そこで止まってしまいます。 エラーになった部分はスキップして欲しかったのですが、どうやったらいいのか調べて見ました。

方法

mysqlコマンドにsql文を渡します。

1
$ mysql -h xxx.xxx.xxx.xxx -u user_name -p -f < hoge.sql

ポイントは-fで強制的に実行させる事です。
テーブル名はsql文の中に use hogehoge; などと記載して指定しておけば良いです。

誰かにSQLを作ってもらう時など、不備があって修正してもらっても重複していると入れる事ができないのでこの方法が役立つかもしれません。
(重複している項目がNGだったらダメですが)

0 件のコメント :

コメントを投稿