基本上我有一个我要创建的mysql数据库,其中包含以下表格:
一首歌只能属于一位艺人,但是,一首歌可能属于多张专辑。我将如何在我的mysql数据库中实现它。我已经被困了几天了:(
答案 0 :(得分:4)
您正在寻找join table:
albumsong
album -> FOREIGN KEY to album
song -> FOREIGN KEY to song
tracknumber
然后加入查询:
SELECT song.*, albumsong.tracknumber
FROM albumsong
JOIN song ON song.id=albumsong.song
WHERE albumsong.album=(some album id)
ORDER BY tracknumber;
由于某些专辑是合作,您也可能与艺术家/专辑有多对多的关系:
artistalbum
artist -> FOREIGN KEY to artist
album -> FOREIGN KEY to album
答案 1 :(得分:2)
您将使用交叉表。例如:
艺术家:
曲:
专辑:
AlbumSongs