我一整天都在绞尽脑汁想弄清楚如何在我的音乐网站上显示二重唱。
基本上我的 MySQL 数据库中有 2 个表。
歌手
:singer_id、singer_name。
歌曲
:singer_id、song_id、song_name。
我像这样显示歌曲:
singer_name
:song_name
我知道我可以使用以下内容创建另一个名为 finder 的表:singer_id
和 song_id
如果有二重唱,我可以将歌曲添加到两位歌手。
但这是最好的解决方案吗?
有没有更好更聪明的解决方案?
最佳答案
这个解决方案很好,但您不应该维护两个单独的机制来存储歌手。即,从歌曲表中删除歌手 ID 字段:
singers: singer_id, singer_name
songs: song_id, song_name
performers: song_id, singer_id
这可以让您轻松找到歌手的所有歌曲:
select song_id from performers where singer_id = $id;
以及一首歌的所有歌手:
select singer_id from performers where song_id = $id;
关于php - 需要有关音乐网站逻辑/显示问题的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7070043/