简介
您好!我正在建立一个歌词网站,我将把歌词存储在MySQL数据库中。
我希望有2个主要表格:1个歌词,其中包含id,歌词标题,歌词文本,艺术家名称以及观看次数。
另一张表将是艺术家表格,其中包含:id,艺术家姓名
问题:
请帮助或者如果您知道任何可以帮助我了解这些内容的网站或视频以及其他可能有助于我构建网站的内容,我们将不胜感激。
答案 0 :(得分:2)
不要在两个表中存储艺术家姓名。这违背了拥有单独艺术家表的目的。而是将ArtistID存储在Lyrics表中,并仅将ArtistName存储在Artist表中。这样,如果你拼错一个艺术家的名字,你只需要更新一个表,你就不会打破歌词和艺术家之间的关系。
使用Foreign Key关系将表链接在一起。
答案 1 :(得分:0)
我回答第一个问题
您应该使用id_artist
字段而不是artist name
来更改歌词表
这样可以确保您不会重复名称(因此浪费空间),并且您无法在查询过程中输入错误的名称导致错误的结果。
所以你可以做到
SELECT a.`artist name`, l.title, l.text
FROM artist a INNER JOIN lyrics l
ON a.id = l.id_artist
WHERE a.name = '....'
// or you can use WHERE a.id = ...