求助,关于一个表的关键字段ID的自增 SQL语句

一介布衣萧萧 2010-11-04 12:29:15
我新建了一个表OrderTable,设OrderId为关键字段,我想要OrderId自增,这个SQL语句怎么写呢?
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
youngzi 2010-11-04
  • 打赏
  • 举报
回复
不用写语句,只要把这个字段设置为int型的,再把标识规范设为是就可以了
一介布衣萧萧 2010-11-04
  • 打赏
  • 举报
回复
杯具,俺是个白菜,不是很懂嘢!俺把俺的代码贴出来,看看哪个ControlId到底怎么才能设置成自增的?

create table ControlTable (ControlId int primary key, FunctionId int, DeviceOrderName varchar(256), DeviceOrder varchar(256), SelfDeviceOrder varchar(256))


insert into ControlTable (ControlId, FunctionId, DeviceOrderName, DeviceOrder, SelfDeviceOrder) values(:ControlId, :FunctionId, :DeviceOrderName, :DeviceOrder, :SelfDeviceOrder)


我就是想把ControlId设成自增的,由1开始,这该怎么改啊!麻烦各位高手了
xiaoyuan402 2010-11-04
  • 打赏
  • 举报
回复
ID int IDENTITY,
--小F-- 2010-11-04
  • 打赏
  • 举报
回复
--创建测试表
CREATE TABLE t1(ID int IDENTITY,A int)
GO
--插入记录
INSERT t1 VALUES(1)
GO

--1. 将IDENTITY(标识)列变为普通列
ALTER TABLE t1 ADD ID_temp int
GO

UPDATE t1 SET ID_temp=ID
ALTER TABLE t1 DROP COLUMN ID
EXEC sp_rename N't1.ID_temp',N'ID',N'COLUMN'
INSERT t1 VALUES(100,9)
GO

--2. 将普通列变为标识列
CREATE TABLE t1_temp(ID int,A int IDENTITY)
SET IDENTITY_INSERT t1_temp ON
INSERT t1_temp(ID,A) SELECT * FROM t1
SET IDENTITY_INSERT t1_temp OFF
DROP TABLE T1
GO

EXEC sp_rename N't1_temp',N't1'
INSERT t1 VALUES(109999)
GO

--显示处理结果
SELECT * FROM t1
/*--结果:
ID A
----------------- -----------
1 1
100 9
109999 10
--*/
fpzgm 2010-11-04
  • 打赏
  • 举报
回复

create table #tb(id int, ident int identity(10000, 1))
insert into #tb
select 1000 union all
select 1001 union all
select 1002 union all
select 1003


alter table #tb
drop column ident

alter table #tb
add ident int identity(20000,1)


select * from #tb

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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