存储ID mysql列表

时间:2012-01-05 19:36:18

标签: mysql database

我想在mysql中存储心愿单的书籍ID列表;这是相关表格的样子:

User_Wishlists
user_id,list_title,list_id(PK)

收藏
list_id(FK),book_id(PK)

问题在于book_ID。大多数用户的列表上都会有多本书,但是表中的book1_id,book2_id等代表它们似乎很奇怪。有没有更好的方法在mysql中存储这些book_ID的列表?我需要能够检索并显示用户的愿望清单。

1 个答案:

答案 0 :(得分:7)

您需要有一个将用户加入愿望清单的关联表。记住数据库设计的零,一或N原则。要么你没有关系,要么一对一,要么一对一。使用诸如book1_id之类的东西几乎总是有缺陷的设计。

您可能会发现这是一个更好的结构:

Wishlist
wishlist_id, user_id, ...

WishlistEntry
wishlist_id, book_id, ...

直接将心愿单与用户关联,然后使用WishlistEnry表查找哪些书籍在哪个愿望清单上。