STERFIELD
開発ナレッジ2013.11.12

【MySQL】外部参照について

今日はMySQLの外部参照について話したいと思います。
慣れないキーワードがちょっと出てきますが、安心してください。
MySQLの外部参照はこれだけで覚えます。

キーワード

CONSTRAINT
REFERENCES
RESTRICT
NO ACTION
CASCADE
SET NULL

基本用法

reference_option

RESTRICT

ON DELETE句やON UPDATE句にRESTRICTを指定した場合は、親テーブルに対して更新や削除を行うとエラーが発生します。RESTRICTはON DELETE句やON UPDATE句を明示的に指定しなかった場合に設定される値です。

NO ACTION

ON DELETE句やON UPDATE句にNO ACTIONを指定した場合は、親テーブルに対して更新や削除を行うとエラーが発生します。MySQLにおいてはNO ACTIONとRESTRICTは同じ挙動となります。

CASCADE

ON DELETE句やON UPDATE句にCASCADEを指定した場合は、親テーブルに対して更新を行うと子テーブルで同じ値を持つカラムの値も合わせて更新されます。また親テーブルに対して削除を行うと子テーブルで同じ値を持つデータが削除されます。

SET NULL

ON DELETE句やON UPDATE句にSET NULLを指定した場合は、親テーブルに対して更新を行うと子テーブルで同じ値を持つカラムの値がNULLに更新されます。また親テーブルに対して削除を行うと子テーブルで同じ値を持つデータのカラムの値がNULLに更新されます。

参考リンク

http://dev.mysql.com/doc/refman/5.1/ja/innodb-foreign-key-constraints.html
http://www.dbonline.jp/mysql/table/index12.html

WRITER

スターフィールド編集部

この著者の記事を見る

CONTACT

記事の内容について
相談したい方へ

実際の進め方は、状況を伺ってからご提案します。

2営業日以内にご返信します
資料ダウンロード無料相談に申し込む