ホームページ >データベース >mysql チュートリアル >MySQL 複合主キーとの外部キー関係を作成するにはどうすればよいですか?

MySQL 複合主キーとの外部キー関係を作成するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-04 13:07:14149ブラウズ

How to Create a Foreign Key Relationship with a MySQL Composite Primary Key?

MySQL での複合主キーの関連付け

指定されたシナリオでは、チュートリアルとグループという 2 つのテーブルがあり、チュートリアルには複合主キーがあります。キー (beggingTime、day、および tutorId)。チュートリアルでは、複合主キーを参照するグループ内にフィールドを作成することで、これらのテーブル間の関係を確立することを目的としています。

MySQL のドキュメントによると、複合キーへの外部キー マッピングを確立することが可能です。これを実現するには:

  1. グループに列を追加します: チュートリアルの複合主キー フィールドに対応する 3 つの列をグループ テーブルに作成します: beggingTime、day、tutorId。
  2. 外部キー関係の定義: グループ テーブルに次の行を追加します。定義:
FOREIGN KEY (`beggingTime`,`day`,`tutorId`) REFERENCES tutorial(`beggingTime`,`day`,`tutorId`)

これにより、チュートリアルの複合主キーとグループ内の対応するフィールドの間に外部キー関係が確立されます。

ただし、専門家が推奨していることに注意することが重要です。単一の主キー (ID サロゲート キーなど) を使用するようにチュートリアル テーブルを再設計します。これにより、SQL が複合キーではなく主キーを含むリレーションシップに最適化されるため、パフォーマンスが向上します。

以上がMySQL 複合主キーとの外部キー関係を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。