mysql - 如何构建数据库以存储不同的值

标签 mysql

标题可能不是很准确,但这是我想做的,并寻求建议

我有两张 table ,一张专用于不同的艺术家,另一张专用于不同的音乐流派。 最终的想法是将一种或多种流派分配给一位艺术家。

我正在考虑使用 tbl_genre.ID 并将其存储在 tbl_artist.genre 中,但这行不通(使用 LIKE % % 在 tbl_artist 中搜索特定流派时可能会出现问题)。

另一种选择可能是创建第 3 个表并将与艺术家相关的所有流派 ID 存储在单独的行中,但不知何故这个解决方案看起来“蹩脚”,我想知道是否有更好的。

谢谢。

最佳答案

这是一个非常典型的多对多关系。流派有很多艺术家,艺术家可以有很多流派。您需要使用第三个“连接”表来完成此操作。我将其称为 tbl_artists_genres 之类的名称,它只有两个字段:artist_id 和 genre_id。

关于mysql - 如何构建数据库以存储不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7380899/

相关文章:

mysql - 创建MySQL触发器更新另一个表中的多条记录

MySQL double 值超出范围

mysql - 如何查询 1 个表中的 2 列和第二个表中的另一列

php - 如何计算内容mysql匹配中的单词匹配?

php - 如何在 CodeIgniter 中获取关系数据

mysql - 嵌套程序集数据库结构

php - 将 3 个表的结果与 MAX(date) 合并

mysql:如何获取所选日期的下一个日期?

php - SQL从Magento获取订单商品?

c# - 根据数据库中存在的内容控制可见