如何将用户“收藏夹”存储在mySQL表中?

fra*_*kie 5 mysql relational-database

我一直在读,我应该将其存储在一个单独的表中,“每行一个值”。这到底是什么意思?这样-以便每个“收藏夹”都获得另一个用户条目?

USER_ID     SKU_Favorited

001         10016
001         10067
024         10016
001         10010
024         16779
Run Code Online (Sandbox Code Playgroud)

不得不两次输入同一用户似乎很多余,但这是我应该做的吗?然后在查找中,我只是SELECTsku WHERE用户ID ...并找到该编号旁边的所有SKU?

And*_*rew 5

称为第三范式的关系数据库

您与用户有一张桌子。

//users
id | username | password
Run Code Online (Sandbox Code Playgroud)

和收藏夹的桌子

//favorites
id | userid | Favorited
Run Code Online (Sandbox Code Playgroud)

您如何获得它:

select * from favorites inner join users on favorites.userid=users.id where users.id=1

  • 据我说,“收藏夹”表不应具有ID。(用户名,收藏夹)必须是主键。 (3认同)