导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

自动编号问题

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
...全文
61 点赞 收藏 14
写回复
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
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告