MySQLのダンプデータをプログラムから流し込もうとすると外部キーのエラーが発生する
MySQLのダンプデータを流し込もうとしたらリレーションのエラーが発生。 mysqlコマンドを使えば問題ないのだが、プログラムからコネクションを利用して流し込みたいときはうまく動作しない。
そういうときはSQL実行前に、 SET FOREIGN_KEY_CHECKS = 0; を実行する。 これで外部キーに関することはチェックしないのでデータを流し込めるようになる。 流し込んだら、 SET FOREIGN_KEY_CHECKS = 1; を実行して元に戻しておく。