0

3つのテーブル間の関係を作成しようとしていますが、指定されていない何らかの理由で失敗しているようです。私が1対1の関係を作成したとき、それは機能し、多対1でも機能しましたが、多すぎると失敗します。簡単に言うと、私のレイアウトは次のとおりです。

name表1には、テキストとlinkId非固有整数の2つのフィールドがあります。

stat表3には、テキストとstatId非固有整数の2つのフィールドがあります。

表2はリンクテーブルであり、2つのフィールドがlinkIdありstatId、どちらも一意であり、両方ともテーブル1および3のそれぞれの値を参照しています。

したがって、いくつかのテストデータ:

表1:

name   linkId
"Test 1"   1
"Test 2"   1
"Test 3"   1
"Test 4"   1
"Test 5"   1

表3:

stat linkId
"strength" 1
"intelligence" 1
"dexterity" 1

表2:

linkId statId
1         1

なぜこれが失敗するのですか?1表2の1sは、他のテーブルのsを参照するべきではありませんか?表1のフィールドをlinkId一意にすると機能しますが、これは私が望む方法ではないことに注意してください。

4

1 に答える 1

0

問題は、参照テーブルの列が一意でない場合、SQLITE が外部キーをサポートしていないことでした。テーブルのレイアウトを少し変更したところ、現在は機能しています。

于 2013-03-22T22:40:03.903 に答える