#author("2019-09-18T14:49:17+09:00","default:ryuichi","ryuichi")
#author("2019-09-18T15:16:16+09:00","default:ryuichi","ryuichi")
* 外部キーを無視してテーブルを更新する [#q2193ad5]
** 外部キーのあるテーブルはそのままでは削除できない [#ac986d9d]
mysql> CREATE TABLE t1 ( id int, PRIMARY KEY (id) );
mysql> CREATE TABLE t2 ( id int, t1_id int, FOREIGN KEY (t1_id) REFERENCES t1 (id) ON DELETE CASCADE );
mysql> DROP TABLE t1;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails
** 外部キーを無視してテーブルを削除する [#ce7b58e7]
*** テスト'''SET foreign_key_checks = 0'''です [#qce8f457]
*** '''SET foreign_key_checks = 0''' [#qce8f457]
mysql> SET FOREIGN_KEY_CHECKS = 0;
mysql> DROP TABLE t1;
mysql> SET FOREIGN_KEY_CHECKS = 0;
> SET foreign_key_checks = 0 を実行しないかぎり、FOREIGN KEY 制約によって参照されるテーブルに対して DROP TABLE を発行できません。テーブルを削除すると、そのテーブルを作成するために使用されたステートメントで定義されていた制約もすべて削除されます。
** 参考 [#o6ff96b2]
https://dev.mysql.com/doc/refman/5.6/ja/create-table-foreign-keys.html