ホームページ >データベース >mysql チュートリアル >MySQL で複合外部キーを実装するにはどうすればよいですか?
一般的なデータベース設計の 1 つは、複合キーを使用してテーブル間の関係を確立することです。複合キーは、テーブル内のレコードを一意に識別する複数の列の組み合わせです。このシナリオでは、チュートリアルとグループの 2 つのテーブルがあり、チュートリアルの複合一意キーをグループのフィールドにリンクする必要があります。
MySQL のドキュメントによると、MySQL は複合キーへの外部キー マッピングをサポートしています。ただし、この関係を確立するには、参照テーブル (チュートリアル) の主キー列と一致するように参照テーブル (グループ) に複数の列を作成する必要があります。
作成手順は次のとおりです。外部キー マッピング:
-- Alter the 'group' table to add the composite foreign key columns ALTER TABLE `group` ADD COLUMN `beggingTime` time NOT NULL, ADD COLUMN `day` varchar(8) NOT NULL, ADD COLUMN `tutorId` int(3) NOT NULL; -- Add the foreign key constraint ALTER TABLE `group` ADD FOREIGN KEY (`beggingTime`, `day`, `tutorId`) REFERENCES `tutorial`(`beggingTime`, `day`, `tutorId`);
グループ テーブルに 3 つの外部キー列 (beggingTime、day、tutorId) を作成することで、複合テーブルとの関係を確立します。チュートリアルテーブルの主キー。これにより、複合キーに基づいて両方のテーブルのデータを結合して取得できるようになります。
複合外部キーの使用は技術的にサポートされていますが、一般的には代わりに単一列の主キーを使用することが推奨されることに注意してください。これは、複合キーがパフォーマンスに影響を与え、データベース設計の複雑さを増す可能性があるためです。可能であれば、チュートリアルで単一列の主キーを使用するようにテーブルを再設計することを検討してください。
以上がMySQL で複合外部キーを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。