如何以一对一关系插入记录?
假设我有3个表:表A,表B和表C
我必须在那些表中插入一条记录,该表A被引用为主键的主表。
让我们这样说:
tableB.PK = tableA.PK
tableC.PK = tableA.PK
现在,
当我在tableB或tableC中插入记录时,发生错误:
Error Message: The INSERT statement conflicted with the FOREIGN KEY constraint "FK_tableB_tableA"
但是,当我插入tableA时(这是两个表的主键的基础),就可以了,它会递增。
我将如何插入记录?特别是在JPA中。
在这里我的评论再次作为答案
由于您在tableB和tableC中有对tableA的引用,因此必须先插入tableA并获取生成的PK。然后,您可以将其他具有检索到的ID的表插入。对于JPA,请看这里:如何使用JPA获取上一个持久实体的ID
这是一个如何在sql server中实现此目的的示例:http : //sqlfiddle.com/#!3/a3f62/3
这是关系数据库和外键的基础,我没有阅读Wiki文章,但必须提及相同的thinkg:http : //en.wikipedia.org/wiki/Foreign_key
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句