sqlserver 怎样把数据库同一个表中的两条记录互换位置?
展开全部
首先你的id是不是自增长的那一种
如果是的话,需要先把自增长关闭掉,否则id不可调
关掉后,你把id互换,更新下
更新后把id自增长再开起来
如果是的话,需要先把自增长关闭掉,否则id不可调
关掉后,你把id互换,更新下
更新后把id自增长再开起来
追问
我要的是sql语句。。。。手动操作的我也会。。现在关键是我在写网站要用到这个 实现上移下移功能啊。。。
追答
那你就在你的表里面再加一个栏位。
你不能因为页面要调整顺序而调整原资料的完整性
你应该加一个seq序号栏位,让用户可以调整该列资料,查询按该seq排序。
除非你想让你的资料库崩溃,而替换他们的id
我还以为你就这两条临时调一下呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我有个想法不知道你能不能认同
既然自增长Id不好操作 那么我设立一个可变动的序列id 这样操作就很简单了 上移一行就是把上一行的序列id+1 本行的id-1 不去牵扯自增长id 只是变一下我序列id 排序的时候根据这个序列id排序 大家看这个方法怎么样 我知道是个笨办法 但是很可行
既然自增长Id不好操作 那么我设立一个可变动的序列id 这样操作就很简单了 上移一行就是把上一行的序列id+1 本行的id-1 不去牵扯自增长id 只是变一下我序列id 排序的时候根据这个序列id排序 大家看这个方法怎么样 我知道是个笨办法 但是很可行
追问
这个方法我知道大概 但是我不知道怎么写这样的代码。。。。我是菜鸟。。。。想实现把asp的GridView的数据 可以手动上移下移。我想着在数据库中加一个字段,就是你说的这样,可是我不知道怎么去实现。。。
追答
加一个字段 xlId 序列id
操作的时候
下移
update table set xlId = xlId - 1 where id = xxx
update table set xlId = xlId + 1 where id = xxx + 1
上移
update table set xlId = xlId + 1 where id = xxx
update table set xlId = xlId - 1 where id = xxx - 1
像这样的一个操作有两个更新语句的话要用存储过程 同时成功 同时失败
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以排序啊
追问
不是啊。就类似于我想把原来在第三个位置的数据 移到第1行去 这样的交换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
排序
更多追问追答
追问
不是啊。就类似于我想把原来在第三个位置的数据 移到第1行去 这样的交换
追答
不能
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询