我正在使用SQL Server存储用户上传的歌曲。
每首歌都有一个id(简单的自动增量编号)和一个名字。
我想使用URL重写来查询某些歌曲,如下所示:
http://wwww.mysite.com/song/song_name
问题是我还想让用户更改他们的歌曲名称并仍然使用旧的URL。
我想创建另一个包含旧名称的表,然后在两个表中检查一些歌名,这是一个很好的解决方案吗?
答案 0 :(得分:1)
更好的方法可能是创建一个包含URL和它所依赖的歌曲的URL表:
SongID: URL:
1 song_name
1 song_name_change
2 other_song_title
这种方法会:
答案 1 :(得分:0)
除了现有的songs
表,我会:
alias
alias
- 包含歌曲名称,原创和修改target
- 该歌曲的ID,songs
table main_alias
添加到songs
表;它将引用主别名(即最后编辑的别名),以便您可以使用旧别名重定向人或通过其ID转到歌曲。然后,您可以通过
访问该歌曲URL/[song_id]
- 按ID找到歌曲 +将网址重写为main alias
URL/old_song_name
- 按别名查找歌曲 +将网址重写为main alias
URL/new_song_name
- 与上述相同URL/even_newer_song_name
- 与上述相同总而言之,您可以指向同一首歌的无限数量的名称。
答案 2 :(得分:0)
使用字段
创建表格song_names
songs
表的关键字)如果您从链接获得该歌曲的名称,您可以在此表格中找到它,以便您可以在songs
表格中找到一首歌曲。实际歌曲名称将是song_names
表格中具有给定song_id
和最近creation_date
的歌曲名称。