存储多个值

时间:2012-08-27 19:00:46

标签: php mysql

我的网站上有用户表。该表由列

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

现在,如此单独存储利益并不是那么实际。有什么更好的方法来做到这一点。一种可以轻松编辑/访问用户兴趣的方法吗?

感谢。

4 个答案:

答案 0 :(得分:2)

Database normalization做你想做的事。

您将创建一个新的interests表,其结构如下:

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

然后,您可以通过以下查询获得给定用户的所有兴趣:

SELECT `interest` FROM `interests` WHERE `user_id` = :my_user_id;

答案 1 :(得分:2)

您在用户和兴趣之间存在多对多的关系。创建一个单独的兴趣表,并引入一个联结表,以链接用户的兴趣。

enter image description here

答案 2 :(得分:1)

使用列interestsuser_id创建名为interest的新表。

答案 3 :(得分:0)

Serialize他们。通过这种方式,您可以将零存储到他们想要的多个兴趣点,当您unserialize时,您可以维护与其一起创建的相同数据结构(即数组或对象)。