请问一下:我要实现一个有顺序的用户歌曲列表
用户可以进行歌曲的上移,下移,删除操作, 数据库怎样设计?我现在的设计是
create table md_usersonglist
(
usslID int not null auto_increment,
usslAlbumID int,//专辑的ID
usslSongID int,//歌曲ID
usslSongName varchar(40),//歌曲名
usslDre varchar(200),//备注
usslNo smallint,//歌曲排号
primary key (usslID)
);用户要是进行删除操作后 ,又有了一个上移操作
如: 编号现在已经有1,2,3 删除的2 ,现在要把3号歌曲上移,本来是2,3大颠倒的 但数据库已经没有了2号,
我应该这样处理
用户可以进行歌曲的上移,下移,删除操作, 数据库怎样设计?我现在的设计是
create table md_usersonglist
(
usslID int not null auto_increment,
usslAlbumID int,//专辑的ID
usslSongID int,//歌曲ID
usslSongName varchar(40),//歌曲名
usslDre varchar(200),//备注
usslNo smallint,//歌曲排号
primary key (usslID)
);用户要是进行删除操作后 ,又有了一个上移操作
如: 编号现在已经有1,2,3 删除的2 ,现在要把3号歌曲上移,本来是2,3大颠倒的 但数据库已经没有了2号,
我应该这样处理
for each row
begin
update md_usersonglist set id=id-1 where id>new.id;
end
数据表中
id ccc
1 a1
2 a3
5 d4
9 fe
10 dd你可以通过程序显示为
sno id ccc
1 1 a1
2 2 a3
3 5 d4
4 9 fe
5 10 dd
http://blog.csdn.net/ACMAIN_CHM/archive/2009/04/20/4095531.aspx
当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
按大小排序
如果数据量大的话最后不要这样做,开销很大的。