SQLite 複合キー (2 つの外部キー) リンク テーブル 質問する

SQLite 複合キー (2 つの外部キー) リンク テーブル 質問する

私はかなりクールなスタイルのBNF文法SQLiteのcreate tableステートメント

ここで見つかりました:http://www.sqlite.org/lang_createtable.html

これらの間のリンクテーブルをどうやって作成するか考えていました

たとえば、houses というテーブルと、electrical_items というテーブルが 1 つあります。

house_id と item_id を複合キーとして持つリンク テーブルを作成したいのですが、どのようにすればよいかわかりません。主キーを外部キーにすることはできないようです。

注意: 家の中の電気製品が pap_tested された日付を保存する 3 番目のフィールド pap_tested が必要なので、複合主キーを介してテーブルをリンクするのが最善の方法と思われます。

ベストアンサー1

関連付けテーブルでは、次のいずれかが機能するはずです。

create table house_items (
    house_id integer not null,
    item_id  integer not null,
    foreign key (house_id) references houses(id),
    foreign key (item_id) references electrical_items(id),
    primary key (house_id, item_id)
)

create table house_items (
    house_id integer not null references houses(id),
    item_id  integer not null references electrical_items(id),
    primary key (house_id, item_id)
)

おそらくあなたはhouse_items.house_idおよびに個別の(単一列)インデックスhouse_items.item_id同じように。

おすすめ記事