2015-04-04 37 views
1

假设我在我的网站上有一个用户表。现在,如果我想打一个系统,用户可以上传单个图像的每个,这将是这样的:如何为每个用户处理数据存储MySQL

enter image description here

但是,如果我想打一个系统,用户可以上传图片的数量不受限制,我将如何实现这一目标?我需要为每个用户上传的每个图像创建一个列吗?但在那种情况下,不会是未使用的字段?例如:

enter image description here

另外,如果我想使albumns的照片我将如何处理这个问题?谢谢!

+1

有一个单独的'图像'表,其中包含用户表的FK(例如user_id)。 – eggyal 2015-04-04 02:33:17

回答

1

处理此问题的最佳方法是为图像分别创建一个表格,但使用userID作为用户表的外键。

假设没有两个用户会使用相同的图像(这将是一个不同的情况),

你就像你有(第一个)你的用户表,但只有ID和用户。

你的第二个表将是这个样子,其中图像标识是主键,用户名是ID外键关闭你的用户表的

imageID UserID 
    1   1 
    2   1 
    3   1 
    4   2 
    5   2 

如果你想要的专辑,你可以只创建另一个以albumID作为主键的表格,以及作为该图像表格的外键的imageID。您还可以在该表上包含UserID,并在需要多对多关系时创建复合主键。这种方式相册仍然与用户相关联,但您可能有图像出现在多个相册中

相关问题