2016-08-10 4 views
1

データベースに 'studentdetails'、 'class'、 'acquiredmarks'、および 'subject'という名前のテーブルがあります。 私は外部キーとして他のテーブルに接続されている 'studentdetails'テーブルに 'STUDENTID'という名前の主キーを持っています。MySQLデータベースでプライマリキーと外部キーの関係以外の複数のテーブルをリンクするにはどうしたらいいですか?

3つの列( 'STUDENTID'、 'C​​LASS'、 'ROLLNO')を同じテーブル 'studentdetails'に追加して、外部キーの関係を '得点表。

テーブルに1つのプライマリキーしか作成できないような関係を確立するにはどうすればよいですか?

答えて

1

Mysqlでは、外部キー関係が複数の列にまたがることを確実に許可します。実際にはmanualに完全な例があります。したがって、あなたの関係が

CONSTRAINT fk_multi FOREIGN KEY (`studentid`, `class`,`subject`) 
REFERENCES other_table (`studentid`, `class`,`subject`) 
ON DELETE CASCADE ON UPDATE CASCADE, 

ノートのようになります。しかし、それは何の関連セクションに入ると、列の名前ではなく、他のテーブル上のインデックスの名前です。

プライマリキーの問題については、テーブルごとに1つのプライマリキーしか持てないことは事実です。しかし、参照される3つの列に複合ユニークキーを作成することを妨げるものは何もありません。

+0

これは非常に参考になります@ e4c5 今私はプライマリキーが外部キーの必須の必要性ではないことを知っています。 –

+0

助けてくれてうれしい – e4c5

関連する問題