存储歌曲MySQL DB的数据

时间:2010-04-06 18:14:38

标签: php mysql database

我在MySQL数据库中存储了大量歌曲。这就是我在'歌曲'表中存储的内容:

CREATE TABLE `songs` (
  `song_id` int(10) unsigned NOT NULL auto_increment,
  `song_artist` varchar(255) NOT NULL,
  `song_track` varchar(255) NOT NULL,
  `song_mix` varchar(255) NOT NULL,
  `song_title` text NOT NULL,
  `song_hash` varchar(40) NOT NULL,
  `song_addtime` int(10) unsigned NOT NULL,
  `song_source` text NOT NULL,
  `song_file` varchar(255) NOT NULL,
  PRIMARY KEY  (`song_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1857 DEFAULT CHARSET=latin1

现在,我想跟踪每首歌的播放次数,以及与歌曲相关的其他歌曲特定数据。我不想继续为'songs'表添加字段。如何以更有效的方式存储歌曲相关数据?这里最好的做法是什么?

1 个答案:

答案 0 :(得分:5)

如果是1对1关系,则应将其添加到歌曲表中。当关系调用时,向表中添加更多字段没有错。然后,您可以使用SQL在每次播放时增加字段。

如果您想要跟踪特定用户播放歌曲的次数,可以使用另一种方法。您可以创建一个以song_id, user_id, plays作为字段的关系表(song_id和user_id将形成一个复合键)。

取决于您的意思

  

特定于歌曲的数据

将确定如何修改架构。