使用Mysql和PHP构建动态网站

时间:2011-10-24 21:34:47

标签: php mysql database-design dynamic web

简介

您好!我正在建立一个歌词网站,我将把歌词存储在MySQL数据库中。

我希望有2个主要表格:1个歌词,其中包含id,歌词标题,歌词文本,艺术家名称以及观看次数。

另一张表将是艺术家表格,其中包含:id,艺术家姓名

问题:

  1. 如何使用两个表中的艺术家姓名字段链接这两个表?我想从表格中显示我网站上的所有艺术家,并查看与该特定艺术家/
  2. 相关的所有歌词
  3. 如何链接到表格中的特定记录或字段?
  4. 请帮助或者如果您知道任何可以帮助我了解这些内容的网站或视频以及其他可能有助于我构建网站的内容,我们将不胜感激。

2 个答案:

答案 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 = ...