外部キー制約実験:子テーブルから親テーブルにないidでデータを追加しようとする。・・・と言われてもピンと来ないと思うので、説明します。下記のような二つのテーブルがあったとします。ないようにしたいな」という時に活躍するのが外部キー制約となります。これを設定するには、参照する側(子テーブル)と参照される側(親テーブル)を決める必要があります。今回は「user_id」のある「products」を子テーブルとし、「id」がある「users」を親テーブルとして、外部キー制約をつけていくこととして説明します。UPDATEについて上記の四項目以外にも設定するところがありますね?この選択肢は下記のような種類があります。引用元:https://www.dbonline.jp/mysql/table/index11.htmlここでは「RESTRICT」(=日本語で”制限”)として設定します。「保存」をクリック!これで「user_id」と「id」が外部キー制約で結ばれました。外部キー制約実験:親テーブルにあるデータを消そうとしてみる試しに、親テーブル側でidが2の鈴木花子さんを削除しようとすると、このようなエラーで表示されます。これは先ほど設定した外部キー制約で、「id」と「user_id」が紐づいているため、勝手に削除は出来ないよ、とMySQLさんに怒られています。外部キー制約実験:子テーブルから親テーブルにないidでデータを追加しようとする。次に子テーブル側から以下のようなSQL文を実行しようとすると・・・(user_id=6というのは、元々設定していないidとなります。)またこんな風に叱られます。「君が追加しようとしているレコードだけど、親テーブルにid=6なんてないから、追加出来ないよ」とということです。このように、データベースの整合性をとるために必要とされる外部キー制約。何でもかんでも使用すればいい、という訳ではありませんが要所で使用することで適切なデータベースを構築出来そうです。その一つが外部キー制約だったりする。「他のテーブルのデータに参照(依存)するように...[...]参考https://www.dbonline.jp/mysql/table/index11.html学習は全てウェブカツ!!というプログラミングスクールで学んでいます。コメントをキャンセルメールアドレスが公開されることはありません。PHP2019年10月18日22301viewわかっているようでわからない、PHPのFETCHを解説!PHP2019年10月4日6262viewPHPのデータベース接続ー呪文に見えるコードの正体を追う【初心者向け】PHP2019年10月11日5418viewちゃんと分かってる?ーPHPでとっても大事な$_POSTを理解しよう!プログラミング2019年9月27日4308viewVSCodeは初心者にこそおすすめ!-拡張機能で勉強効率を3倍にする-プログラミング2019年7月26日3547view30代・未経験・ウェブマーケティング業界への転職は失敗した。最近の投稿Laravel+Vueでゼロからサービスを作りました。takablog.ホームシェアTOPへ。