MySQL JDBC在不添加重复项的情况下插入多个对象

时间:2016-12-13 17:15:38

标签: java mysql database-design

在MySql数据库中添加多个对象但不在多对多连接的任何一侧添加重复实体的最佳方法是什么。

例如,如果我想将书籍添加到书籍数据库中,并且作者和书籍之间存在多对多的联系。我不想添加已经存在的作者,如果他或她已经存在于作者表中,而我想找到他/她的作者ID并与该书建立连接。使用JDBC执行此操作的最佳方法是什么?

以下是该问题的更详细说明。我有3个表Book,Author和AuthorBook。下表将代表这些之间的联合。

Book Title |      Book Author
------------------------------------
Book 1     |      Book Author 1
Book 2     |      Book Author 2

如果我想添加另一本书" Book 3"具有已存在于数据库中的作者"作者2"。我不想添加"作者2"再次,但得到"作者2" id并将其用于BookAuthor表。

1 个答案:

答案 0 :(得分:0)

This描述了最佳的多对多关系表。

请注意PRIMARY KEY涵盖两者(书本和作者,在您的情况下),以防止重复。

为简单起见,您也可以通过表格发送所有参考文献,而不是特别包装单作者书籍。