存储ID mysql列表

cho*_*wwy 0 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的列表?我需要能够检索并显示用户的愿望清单.

tad*_*man 7

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

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

Wishlist
wishlist_id, user_id, ...

WishlistEntry
wishlist_id, book_id, ...
Run Code Online (Sandbox Code Playgroud)

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