Sagen wir, dass es drei Tabellen gibt, die Lehrer, Schüler und Nachrichten genannt werden.Mysql Fremdschlüssel, der einen Verweis auf zwei Spalten hat, die Primärschlüssel in zwei verschiedenen Tabellen sind
Lehrer:
-----------
ID | name |
-----------
t_1| Dani |
-----------
t_2| Billy|
-----------
Studenten:
-------------
ID | name |
-------------
s_1| Luckas |
-------------
s_2| Oliver |
-------------
Nachrichten:
--------------------------------
| 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 |
--------------------------------
traurig darüber, wie die Tabellen sieht ich nicht weiß, wie es besser zu machen.
Ich möchte, dass nur Werte von Lehrern oder von Studenten in messages.sender_id und in messages.receiver_Id wie in Fällen von FK gespeichert werden dürfen.
Ich muss wissen, ob es möglich ist und wenn ja, wie?
Sie meinen, dass die Schüler oder Lehrer beide Sender oder Empfänger sein könnte? – Oscar
ja, wie kann ich es tun? – Orih90
Sie können in diesem Fall keine Fremdschlüssel verwenden. Fremdschlüssel verweist auf Felder in einer einzelnen Tabelle. Sie können Trigger verwenden, um die Datenintegrität zu erzwingen – Shadow