我正在研究一個簡單的視頻數據庫,其播放列表功能。在這樣的播放列表中,可以按照用戶指定的順序放置視頻。存儲播放列表中的視頻的順序
所以我想我給每個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