维护记录子集顺序的最佳实践

时间:2011-04-08 07:41:16

标签: python mysql database

我正在尝试实现一个播放列表,现在我想出了这些表:

   playlist
     id
     title
     creator

   playlist_item
     id
     item_id
     playlist_id
     position

   item
     id
     title

当我尝试撰写Playlist.add_song时,我发现很难用position来维护项目的顺序。

我必须知道最后一个位置是设置新记录last position + 1的位置。

实施此更好的方法是什么?

1 个答案:

答案 0 :(得分:0)

我记得几年前我写的一个MP3播放器做同样的事情。问题不仅仅是设置一个新位置,而且如果删除播放列表项目也会更新位置(例如,中间的一个项目必须更新)。

由于一个好的实现命令您的位置按顺序编号,没有间隙,我会说您可以只获取播放列表项的数量+ 1,以识别新记录的位置。