多对多 table 关系,允许一张照片出现在 mysql 图片库的多个相册中

many to many table relationship for allowing a photo to be on multiple albums in a mysql image gallery

我正在创建一个 mysql 强大的在线相册,到目前为止我有 3 个 table 具有架构:

照片:

专辑:

用户:

我知道为了允许用户将一张照片放在多个相册中,我需要创建第四个 table 而不是将 albumID 放在 Photos table(不允许一张照片出现在多个相册中)。 我应该如何更改我的模式(如果有的话)以及我应该在我的第四个 table 上放置什么以允许单个图像出现在多个相册中?

PS 我正在使用 phpmyadmin 创建我的数据库。

Albums_Photos: album_id, image_id

尽量保持命名一致...即您有 imageID 和 album_ID。
就个人而言,当 ID 与 table 本身相关时,我只使用 ID。
所以我会有这样的东西:

Photos: id (PK), caption, image_url, date_taken
Albums: id (PK), album_title, date_created, date_modified
Users: id (PK), username, email
Albums_Photos: album_id (FK albums.id), photo_id (FK photos.id)

使用 Albums_Photos table 您可以为主键添加一个 id 列,或者您可以使用 album_idphoto_id.

您可能也想从 Photos 中取出 album_title