SQL数据库列自动生成编号?

我用的是SQLserver2005,我建了一个video表,id为文件编号,我想上传文件时,id自动按顺序编号... 我用的是SQL server 2005,我建了一个video表,id为文件编号,我想上传文件时,id自动按顺序编号 展开
 我来答
大野瘦子
高粉答主

推荐于2019-10-31 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.4万
展开全部

两种方法:

1、用Truncate

TRUNCATE TABLE name可以删除表内所有值并重置标识值

2、用DBCC CHECKIDENT

DBCC CHECKIDENT ('table_name', RESEED, new_reseed_value)如dbcc checkident ("bc_pos",reseed,1)即可,

但如果表内有数据,则重设的值如果小于最大值可能会有问题,这时可以用 dbcc checkident("bc_pos",reseed)即可自动重设值。

注意:

只能为不允许空值且数据类型为 decimal、int、numeric、smallint、bigint 或 tinyint 的列设置标识属性。此外,不能为主键列设置标识属性。    

扩展资料:

关于上述标识列的引用

如果在SQL语句中引用标识列,可用关键字IDENTITYCOL代替,例如,若要查询上例中ID等于1的行,

以下两条查询语句是等价的:

1、SELECT * FROM T_test WHERE IDENTITYCOL=1

2、SELECT * FROM T_test WHERE

匿名用户
推荐于2017-09-24
展开全部
id设置为自增字段int identity(1,1) ,字段会自己从1开始自动增加,每多一条记录自动加1了。
第一行1 第二行2 一直连续下去,删除的时候:比如说现在最大的是 4 , 你把id为4的记录删掉,后面增加的记录的id还是5,也就是他保证唯一,但不保证连续。
1、在创建的时候设置:
CREATE TABLE [dbo].[video] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
字段2,
字段3 ,
字段n
) ON [PRIMARY]
GO
2、现有表里修改:
--先将表video的数据和结构复制到表video1,同时将表video1的id字段设置自增字段
select id=identity(int,1,1) --指定需要改成自增字段的列
,字段1,字段2,字段n
into video1
from video
go
drop table video --删除表video
go
exec sp_rename 'video1','video' --修改video1表的名字为video
go
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tianxiao8598
2011-04-18 · TA获得超过160个赞
知道答主
回答量:318
采纳率:100%
帮助的人:102万
展开全部
建表的时候把id列设为自增不就行了
eg: id int identity(1,1) primary key
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yjl7144
2011-04-18 · TA获得超过253个赞
知道答主
回答量:275
采纳率:100%
帮助的人:140万
展开全部
主键自增长
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式