亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

可以對兩個可能的表之一執行MySQL外鍵嗎?

可以對兩個可能的表之一執行MySQL外鍵嗎?

呼如林 2019-06-29 17:24:15
可以對兩個可能的表之一執行MySQL外鍵嗎?這是我的問題-我有三張桌子:地區,國家,州。國家可以在區域之內,國家可以在區域內。區域是食物鏈的頂端。現在,我添加了一個具有兩列的Popular_Regies表:Region_id和Popular_Place_id。是否有可能使Popular_Place_id成為任何一個國家的外鍵?或各州。我可能需要添加一個流行的_place_type列,以確定id是以任何方式描述國家還是州。
查看完整描述

3 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

這不是世界上最優雅的解決方案,但您可以使用混凝土表繼承才能讓這件事行得通。

從概念上講,你提出了一類“可以成為流行領域的東西”的概念,你的三種類型的地方都繼承了這些東西。您可以將它表示為一個表,例如,places中的一行具有一對一的關系。regions,?countries,或states..(可以將區域、國家或州(如果有的話)共享的屬性推入此Place表中。)你的popular_place_id然后是對Place表中的行的外鍵引用,該行將引導您到達某個區域、國家或州。

您提出的第二列描述關聯類型的解決方案恰好是Rails處理多態關聯的方式,但我一般不喜歡這樣做

查看完整回答
反對 回復 2019-06-29
  • 3 回答
  • 0 關注
  • 596 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號