Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How should I store user "favorites" in mySQL table?

I keep reading that I should store this in a separate table "with one value per line". What does this mean exactly? Like this - So that each "favoriting" gets another user entry?

USER_ID     SKU_Favorited

001         10016
001         10067
024         10016
001         10010
024         16779

Seems redundant to have to enter the same user twice, but is this what I should do? Then in lookup I just SELECT sku WHERE user id... and find all SKUs next to that number?

like image 401
frankie Avatar asked Feb 15 '13 20:02

frankie


1 Answers

It is called relational databases that are in 3-rd normal form

You have one table with users.

//users
id | username | password

And table with favorites

//favorites
id | userid | Favorited

here how you get it:

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

like image 147
Andrew Avatar answered Nov 15 '22 11:11

Andrew