可以說有三個表稱爲教師,學生和消息。Mysql外鍵引用兩個列,它們是兩個不同表中的主鍵
教師:
-----------
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的情況下一樣。
我需要知道它是否可行,如果是這樣,怎麼樣?
你的意思是學生或老師可以既是發送方或接收? – Oscar
是的,我該怎麼做? – Orih90
在這種情況下,您不能使用外鍵。外鍵引用單個表中的字段。您可以使用觸發器來強制執行數據完整性 – Shadow