データベースは「外部キー」を使用してテーブル間の関係を確立します。外部キーを使用すると、マスター テーブルとスレーブ テーブル間の関連付けを確立し、2 つのテーブル内のデータの接続を確立し、2 つのテーブル内のデータの一貫性と整合性を制約できます。
このチュートリアルの動作環境: Windows 7 システム、mysql バージョン 5.8、Dell G3 コンピューター。
データベースは「外部キー」を使用してテーブル間の関係を確立します。
データベースの外部キー制約 (FOREIGN KEY) はテーブルの特別なフィールドであり、多くの場合、主キー制約と一緒に使用されます。関連付けられた 2 つのテーブルの場合、関連付けられたフィールドの主キーが配置されているテーブルが主テーブル (親テーブル) となり、外部キーが配置されているテーブルが副テーブル (子テーブル) になります。
外部キーは、マスター テーブルとスレーブ テーブル間の関連付けを確立し、2 つのテーブルのデータの接続を確立し、2 つのテーブルのデータの一貫性と整合性を制約するために使用されます。たとえば、果物の屋台には、リンゴ、桃、プラム、スイカの 4 種類の果物しかありません。すると、果物を買いに果物屋に来たとき、選択できるのはリンゴ、桃、プラム、スイカだけです。は購入できません。
レコードがメイン テーブルから削除されると、それに応じてテーブルの対応するレコードも変更する必要があります。テーブルには 1 つ以上の外部キーを含めることができ、外部キーは null にすることもできます。null でない場合、各外部キーの値はメイン テーブルの主キーの特定の値と等しくなければなりません。
外部キーを定義するときは、次の規則に従う必要があります。
メイン テーブルはデータベースにすでに存在しているか、現在作成中のテーブルである必要があります。後者の場合、マスターテーブルとスレーブテーブルは同一のテーブルとなり、このようなテーブルを自己参照テーブルと呼び、この構造を自己参照整合性と呼びます。
メインテーブルには主キーを定義する必要があります。
主キーには null 値を含めることはできませんが、外部キーでは null 値が許可されます。つまり、外部キーのすべての非 null 値が指定された主キーに出現する限り、外部キーの内容は正しいことになります。
メインテーブルのテーブル名の後に列名または列名の組み合わせを指定します。この列または列の組み合わせは、メイン テーブルの主キーまたは候補キーである必要があります。
外部キーの列数は、メイン テーブルの主キーの列数と同じである必要があります。
外部キーの列のデータ型は、メイン テーブルの主キーの対応する列のデータ型と同じである必要があります。
その他の関連記事については、mysql ビデオ チュートリアル
をご覧ください。以上がテーブル間の関係を確立するためにデータベースが使用するものの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。