mysql - mysql 一个字段多个值

标签 mysql

基本上我有一个 mysql 数据库,我想创建它包含以下表格:

  • 艺术家
  • 歌曲
  • 相册

一首歌曲只能属于一位艺术家,但是,一首歌曲可以位于多个专辑中。我将如何在我的 mysql 数据库中实现这一点。我已经被困了几天了:(

最佳答案

您正在寻找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

关于mysql - mysql 一个字段多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2728819/

相关文章:

MySQL计算大数BIGINT绕过

mysql - 使用 NULL 值连接

mysql - 如何在没有数字 ID 的情况下从 MySQL 数据库表中获取随机行?

mysql - 需要一个使用 adoconection 的示例来避免 mysql 服务器消失

python - pip install mysql-python错误

mysql - 使用 "ORDER BY"更改查询结果

php - 使用 PDO 进行动态列表查询

php - 使用 get_post_meta 数组作为 meta_query 值

mysql - 如何在 MYSQL 中使用 COUNT 和 GROUP BY,同时仍显示所有单独的行?

mysql - 优化查询和子查询