我正在使用SQL Server来存储用户上传的歌曲。如何跟踪列更新?
每首歌都有一个id(简单的自动递增数字)和一个名字。
我想用URL重写来查询一些歌曲,像这样:
http://wwww.mysite.com/song/song_name
的问题是,我也希望允许用户更改他们的歌曲名称仍然使用旧的URL。
我想创建另一个表将包含旧名称,然后检查两个表中的一些歌名,是一个很好的解决方案吗?
我正在使用SQL Server来存储用户上传的歌曲。如何跟踪列更新?
每首歌都有一个id(简单的自动递增数字)和一个名字。
我想用URL重写来查询一些歌曲,像这样:
http://wwww.mysite.com/song/song_name
的问题是,我也希望允许用户更改他们的歌曲名称仍然使用旧的URL。
我想创建另一个表将包含旧名称,然后检查两个表中的一些歌名,是一个很好的解决方案吗?
更好的方法可能是创建一个包含URL和它绑在歌单URL表:
SongID: URL:
1 song_name
1 song_name_change
2 other_song_title
这种方法会:
此外,对于现有的songs
表我将所有的标题:
alias
的列
alias
- 将包括歌曲名称,原始和改进target
- 歌曲的ID,参照songs
表main_alias
添加到songs
表;它会引用主别名(即最后编辑的别名),以便在您可以使用旧别名重定向人或通过其ID进入歌曲时。 查找歌曲ID +重写URL到main alias
URL/old_song_name
- -然后,你可以通过
URL/[song_id]
访问首由别名查找歌曲 +重写URL来main alias
URL/new_song_name
- 同上URL/even_newer_song_name
- 同上总而言之,你可以有指向同一首歌名的数量不受限制。
与领域
songs
表)song_names
创建这个名字的时候)如果您从链接中获得歌曲的名称,可以在此表中找到它,所以你可以在songs
表中找到一首歌。实际歌曲名称将在song_names
表中给出,其中song_id
和最近的creation_date
。
为什么不直接添加(原始)URL列? 如果用户在他坚持使用他喜欢的名称之前更改了他的歌曲名称100次,那么您希望这首歌曲可以通过100个URL访问? – 2010-06-29 13:30:01