mysql解决方案?

gk7wooem  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(432)

我正在寻找一个人谁可以帮助我实现一个方法来存储多个图片作为一个群体在mysql。
基本上,一个用户将上传多个图片,例如3作为一个组(1个帖子),我怎么能把它们存储在数据库中。
这就是我现在存储图像的方式。

+-------------+------------------+------+-----+-------------------+----------------+
| Field       | Type             | Null | Key | Default           | Extra          |
+-------------+------------------+------+-----+-------------------+----------------+
| id          | int(10) unsigned | NO   | PRI | NULL              | auto_increment |
| userid      | int(11)          | NO   |     | NULL              |                |
| uploaded_at | datetime         | YES  |     | CURRENT_TIMESTAMP |                |
| path        | varchar(255)     | NO   |     | NULL              |                |
| is_grouped  | int(11)          | YES  |     | 0                 |                |
| grouped_to  | int(11)          | YES  |     | 0                 |                |
+-------------+------------------+------+-----+-------------------+----------------+

'is\u grouped'(0或1)和'grouped\u to'(主映像的id)是我认为可以使用的,但是在从mysql数据库检索时导致了问题。
任何帮助都将不胜感激。

bgibtngc

bgibtngc1#

我不知道你目前的方法到底有什么问题,但我建议你使用下面的定义 images 表格:

images (id, user_id, uploaded_at, path)

然后,创建将图像与其组关联的连接表:

image_groups (image_id, group_id)

我们真的不需要 is_grouped 列,因为我们可以简单地检查 image_groups 查看图像是否显示在组中和/或该组是否有多个图像。同样地 grouped_to 列现在已成为冗余,因为连接表存储此信息。请注意,您可能还希望 groups 表,它可以存储有关每个映像组的一些元数据,例如名称、创建时间等。

相关问题