我正在研究一个简单的视频数据库,其播放列表功能。在这样的播放列表中,可以按照用户指定的顺序放置视频。存储播放列表中的视频的顺序
所以我想我给每个video_id
分配一个number_in_playlist
。与此相关的问题是,如果将视频19稍后移动到视频2和3之间的位置,则还需要更新其中所有视频的number_in_playlist
。
现在,这强烈地让我想起阵列与链接列表。所以我认为链表可以解决这个问题,即为每个视频记录存储类似previous_video_id_in_playlist
和next_video_id_in_playlist
的内容。但是,在这种情况下,我不确定如何获取(按顺序)播放列表中的所有视频?
这肯定是别人之前遇到的问题,所以我想知道是否有标准的推荐解决方案?
PS:我使用MySQL和我非常喜欢短,速度快的查询
您可能已经有了这个,但由于“视频”与“播放列表”有多对多的关系,因此您已经创建了交叉表,对吧?首先创建它,它可能提供一些关于如何解决这个问题的想法。 – MarioDS 2012-04-20 20:36:34
我有一个表将'video_id'映射到'playlist_id',如果这就是你的意思?我自己的解决方案是将另一个字段“number_in_playlist”添加到该映射表。我只是希望可能有更好的解决方案(用于更新)。 – Ben 2012-04-20 20:48:34