你的“中文”是固定的文字吗?
--下面的语句只支持9999以下的数字排序select id,col, right(col,length(col)-LEAST(
if(Locate('0',col) >0,Locate('0',col),9999),
if(Locate('1',col) >0,Locate('1',col),9999),
if(Locate('2',col) >0,Locate('2',col),9999),
if(Locate('3',col) >0,Locate('3',col),9999),
if(Locate('4',col) >0,Locate('4',col),9999),
if(Locate('5',col) >0,Locate('5',col),9999),
if(Locate('6',col) >0,Locate('6',col),9999),
if(Locate('7',col) >0,Locate('7',col),9999),
if(Locate('8',col) >0,Locate('8',col),9999),
if(Locate('9',col) >0,Locate('9',col),9999)
)-1) *1 a
from test4 order by a
那要看你的表是怎么构建的一般这汇总情况我认为
你的id应该是自增的吧
如果是自增
那么
插入一个数据的话
就是id等于4的那个行
切
你的
desc字段应该就是
用来
排序用的吧
那么
在前台
你可以
做一个input框(每行后边都有个input框)
目的就是为了
排序你的数据
在这种情况下
就不需要改动什么字段了吧
唯一需要改动的字段内容
就是
更新
desc的字段就可以了吧
打个比方
原来是这样的
id
name
desc
1
a
0
2
c
3(改动)
3
b
2(改动)
4
d
1(追加在a后)
修改后
按
name
a
b
c
d
这么排列
id
name
desc
1
a
0
3
b
1
2
c
2
4
d
3
这是在前台显示的内容
在数据库里
你可以看到实际上
改变的
只有
desc
后边的
0
1
2
3
这几个
而数据库的表中
实际数据的位置是不会发生变化
其实你不用担心什么数据量过多的问题
且
在插入新的数据的时候
就让他的desc值默认是最大的
也就是最后一位显示
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)