我有两个类别A和B,其中包含以下列:
A类
_id | name
B类
_id | tableA_id |name
商品列表
_id | name | tableB_id
tableA_id
和tableB_id
是外键,_id列是主键。
B类是A的子类别。
name
列是唯一的(每个表中只有一个类别)
我想插入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的情况下填充外键?
或者我错过了数据库设计的重要部分?
答案 0 :(得分:1)
如果您的数据库设计是“正确的”,为了防止损坏,您将无法在没有父键的情况下插入子记录。
为了获取父键而不进行重新查询,请阅读这篇优秀文章:
http://www.mikesdotnetting.com/Article/54/Getting-the-identity-of-the-most-recently-added-record
答案 1 :(得分:1)
如何在不查询其对应的主要ID的情况下填充外键?
如果我正确理解了您的问题,则无法在不查询Rock的ID时将新记录插入表List
时填充外键,即没有
select _id, tableA_id
from Category_B
where name = 'Rock'
答案 2 :(得分:1)
首先填充CATEGORY_A和CATEGORY_B。
然后插入ITEM_LIST,知道CATEGORY_B.ID。