自动编号问题

tt3125 2007-12-18 03:26:28
比如有一表有几个字段
ID,NAME,PID
ID在表中设为自动增加1
现在添加数据时有时自动按ID排,有时很乱
列如:
ID NAME PID
1 AAA 4
5 BBB 5
2 CCC 4
3 DDD 6
4 DDD 5

怎样在表按PID数字排序加入,达到如下效果
列如:
ID NAME PID
1 AAA 4

2 CCC 4

4 DDD 5
5 BBB 5
3 DDD 6
...全文
93 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
晓风残月0110 2007-12-18
  • 打赏
  • 举报
回复

declare @t table(ID int ,PID int)
insert into @t select 1,3
insert into @t select 1,2
select * from @t


--按PID升序插入
select * into yourt from @t order by PID
select * from yourt
tt3125 2007-12-18
  • 打赏
  • 举报
回复
set rs=server.createobject("adodb.recordset")
sqls="select * from ttt"
rs.open sqls,conn,1,3
rs.addnew
rs("NAME")=request("NAME")
rs("PID")=request("PID")
rs.update
rs.close
set rs=nothing

以上是我通常的写法,但添加数据后表中数据多数情况是按ID排序,有时也是乱的,现在时怎么写能按PID排序.
tt3125 2007-12-18
  • 打赏
  • 举报
回复
就比如吧,,
表名 ttt
我在表中添加了ID,NAME,PID三个字段,ID自动增加

现在要用ASP程序向表ttt添加数据按PID排序.

这个ASP程序怎么写
tt3125 2007-12-18
  • 打赏
  • 举报
回复
insert into t select * from t order by PID


TRUNCATE t
--删除表中所有数据

你这是写在存储中还是?我没看懂

能不能用ASP程序写下,或详细解释下,谢谢
tt3125 2007-12-18
  • 打赏
  • 举报
回复
ID自动是中表中设的

将ID的标识设为 是
标识递增量设为 1
就自动增加1这种
晓风残月0110 2007-12-18
  • 打赏
  • 举报
回复

insert into t select * from t order by PID


TRUNCATE t
--删除表中所有数据

andysun88 2007-12-18
  • 打赏
  • 举报
回复
我理解錯了,以為你是要按照ID排序。不好意思
tt3125 2007-12-18
  • 打赏
  • 举报
回复
添加数据时,没有按功能吧

我只知道查询数据时,有按排功能如加: order by pid asc
andysun88 2007-12-18
  • 打赏
  • 举报
回复
你說:"ID在表中设为自动增加1 ",[--是不是自己寫的一個函數生成的。]
那ID不是自動增量了,自動增量是不會出現上面的情況的,它只會增加最大的數字加1,
第一:如果不是自動增量就要改寫生成ID的方法了,讓它為最大ID加1,這樣就會排序。
第二:把ID設置為自動增量。
tt3125 2007-12-18
  • 打赏
  • 举报
回复
TRUNCATE TABLE???

我没看懂,能解释下怎么用
wzy_love_sly 2007-12-18
  • 打赏
  • 举报
回复
按PID排不就可以
tt3125 2007-12-18
  • 打赏
  • 举报
回复
ASP程序

一般用二种添加数据方法

rs.open sqls,conn,1,3
rs.addnew



Insert into


请大家帮帮我.
wzy_love_sly 2007-12-18
  • 打赏
  • 举报
回复
哦,还以为你重排了
wzy_love_sly 2007-12-18
  • 打赏
  • 举报
回复
TRUNCATE TABLE

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧