4
「他の3つのテーブル(B、C、D)のいずれかのレコード」を参照するデータが含まれているテーブルAがあります どうすればそれらの間に関係を作成できますか? 最も簡単な方法は、id(レコードの)とこれらの3つのテーブルの1つを参照し、 "if条件"でターゲットレコードに接続するカラムテーブルを参照するカラム 'reference_id'を定義することです。このような状況に対処するためのより良い方法になります。この複雑な状況でmysqlのテーブル間の関係を作る方法は?
ここではテーブルの継承が便利だと思いますが、残念ながらMySQLはそれをサポートしていません。 B、C、Dテーブルの共通テーブルを作成し、外部キーを使用してその共通テーブルにB、C、Dをリンクすることによって、テーブルの継承をシミュレートできます。 –
ありがとう@RomanHocke – pemi
参照:http://stackoverflow.com/questions/922184/why-can-you-not-have-a-foreign-key-in-a-polymorphic-association/922341#922341 –