簡體   English   中英

簡單的數據庫。 外鍵插入

[英]Simple database. Foreign keys insertion

我有以下兩列的A類和B類:

A類

_id | name

B類

_id | tableA_id |name

項目清單

_id | name | tableB_id

tableA_idtableB_id是外鍵,而_id列是主鍵。

類別B是A的子類別。

name列是唯一的(每個表中只有1個類別)

我想插入5個項目,每個項目的類別為A和B。

項目1:

name: item1
category A: Movie
Category B: Action

項目2:

name: item2
category A: Movie
Category B: Drama

項目3:

name: item3
category A: Movie
Category B: Comedy

項目4:

name: item4
category A: Music
Category B: Pop

項目5:

name: item5
category A: Music
Category B: Rock

如何在不查詢其對應主鍵的ID的情況下填充外鍵?

還是我缺少數據庫設計的重要部分?

如果您的數據庫設計“正確”,為防止損壞,您將無法在沒有父鍵的情況下插入子記錄。

為了獲得父鍵而不進行重新查詢,請閱讀以下出色的文章:

http://www.mikesdotnetting.com/Article/54/Getting-the-identity-of-the-most-recently-add-record

如何在不查詢其對應主鍵的ID的情況下填充外鍵?

如果我正確理解了您的問題,則在不向Rock查詢ID的情況下將新記錄插入表List時就無法填充外鍵。

select _id,  tableA_id
from Category_B
where name = 'Rock'

首先填充CATEGORY_A和CATEGORY_B。

然后在知道CATEGORY_B.ID的情況下插入ITEM_LIST。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM