教師、生徒、メッセージという3つのテーブルがあるとします。Mysql 2つの異なるテーブルの主キーである2つの列への参照を持つ外部キー
教師:
-----------
ID | name |
-----------
t_1| Dani |
-----------
t_2| Billy|
-----------
学生:
-------------
ID | name |
-------------
s_1| Luckas |
-------------
s_2| Oliver |
-------------
メッセージ:
--------------------------------
| ID | sender_ID | receiver_ID |
--------------------------------
| 1 | s_1 | s_2 |
--------------------------------
| 2 | s_1 | t_1 |
--------------------------------
| 3 | s_1 | t_2 |
--------------------------------
| 4 | t_1 | s_2 |
--------------------------------
テーブルが、私はそれをよりよく行う方法を知りませんでしたどのように見えるかについては申し訳ありません。
教師や生徒の値だけがmessages.sender_idとmessages.receiver_IdにFKの場合のように格納されることを許可します。
私はそれが可能かどうか、もしそうなら、どうすればいいのか知る必要がありますか?
あなたは学生や教師が送信者や受信機の両方の可能性があることを意味ON DELETEでしょうか? – Oscar
はい、どうすればいいですか? – Orih90
この場合、外部キーは使用できません。外部キーは、単一のテーブルのフィールドを参照します。トリガを使用してデータの整合性を強制することができます – Shadow