两个表的主键互为外键,这样就没法插入和删除数据了,是这样的吗,怎么解决
有这样一个数据库,希望大神认真听我讲:一个“景区”表,一个“观察点”表,一个景区有很多观察点,一个观察点只属于一个景区(废话),问题来了,我想在每一个景区记录中加一个入口...
有这样一个数据库,希望大神认真听我讲:一个“景区”表,一个“观察点”表,一个景区有很多观察点,一个观察点只属于一个景区(废话),问题来了,我想在每一个景区记录中加一个入口观察点的外键,(观察点之间的联系用另一个表来表示的),我想每查询一个景区的时候就从它的入口观察点进行遍历。不知道您听懂问题没:景区表有一个入口观察点的外键,观察点表有一个隶属的景区表外键,这样两个表就互为外键了,在hibernate中这样允许吗?又该怎么插入和删除数据呢?
展开
3个回答
2013-05-14
展开全部
互为外键没有关系啊。
前提是那个 “景区”表 的 “入口观察点” , 是要允许为 NULL 的。
这样插入的顺序就可以操作了。
先插入一个景区, 例如 “南京东路步行街”。 “入口观察点” 为 NULL
然后插入很多个 观察点, 例如 置地广场, 253广场, 名人商业大厦。
(上面这些观察点, 所属景区都是 南京东路步行街 )
然后, 更新 景区 “南京东路步行街” 的 “入口观察点” 为 “253广场”
当要删除 景区的时候, 先设置景区的 “入口观察点” 为 NULL
然后删除所有景区下面的 观察点。
最后删除 景区。
前提是那个 “景区”表 的 “入口观察点” , 是要允许为 NULL 的。
这样插入的顺序就可以操作了。
先插入一个景区, 例如 “南京东路步行街”。 “入口观察点” 为 NULL
然后插入很多个 观察点, 例如 置地广场, 253广场, 名人商业大厦。
(上面这些观察点, 所属景区都是 南京东路步行街 )
然后, 更新 景区 “南京东路步行街” 的 “入口观察点” 为 “253广场”
当要删除 景区的时候, 先设置景区的 “入口观察点” 为 NULL
然后删除所有景区下面的 观察点。
最后删除 景区。
展开全部
我没怎么明白你的问题, 互为主外键的两张表跟增删改差有关系吗。 再说我看你说的一个景区有很多观察点,一个观察点只属于一个景区 这是一对多的关系 那么你插入数据的时候就按照主外键来添加好了 好像跟互为主键没关系
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单纯的就数据库的角度讲,插入和删除数据是可行的,哪怕你景区表有N个观察点的外键,表字段都是记录对应的信息嘛,当然这个信息可以是一个编号也可以是一个具体的名称,如果你明白你想插入什么数据,那还会有什么困难呢?如果你自己都被自己搞晕了,你就掉入主键外键再主键外键。。。的循环了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询