2

我在我的网站上有一张供用户使用的表格。该表由列组成

user_id, fname, lname, email, password, interest1, interest2, interest3, interest4,   
interest5

现在,像这样单独存储兴趣变得不那么实际了。有什么更好的方法来做到这一点。一种可以轻松编辑/访问用户兴趣的方法?

谢谢。

4

4 回答 4

2

数据库规范化可以满足您的需求。

您将创建一个interests具有如下结构的新表:

interest      user_id
"skiing"          1
"programming"     4
 etc...

然后,您可以使用如下查询获取给定用户的所有兴趣:

SELECT `interest` FROM `interests` WHERE `user_id` = :my_user_id;
于 2012-08-27T19:02:31.080 回答
2

您在用户和兴趣之间存在多对多的关系。创建一个 seaparte 兴趣表,并引入一个联结表来将用户与他们的兴趣联系起来。

在此处输入图像描述

于 2012-08-27T19:04:24.010 回答
1

创建一个interests以列user_id和命名的新表interest

于 2012-08-27T19:01:56.557 回答
0

对它们进行序列化。这样,您可以将零存储到他们想要的任意数量的兴趣,并且当您对它们进行反序列化时,您可以维护与创建它们相同的数据结构(即数组或对象)。

于 2012-08-27T19:03:38.680 回答