SQL如何设置自动增长列

heavenjiji 2010-06-09 12:19:32
如何将一个表中个某一列设为自动增长的。
表中已经有数据了,该列也有数据,所以不能drop column然后再add column

有没有什么办法可以直接修改表结构,把字段设置成自动增长。而不是删掉字段再加字段。
...全文
1924 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
猜不透的想念 2011-09-16
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 cr890925 的回复:]
暴汗你们确定都试过没问题么?这段代码!
[/Quote]

顶!
cutebear2008 2011-09-16
  • 打赏
  • 举报
回复
identity也是字段的一个属性啊,可以通过alter table [table_name] alter [column_name] [type] identity(1,1)来修改啊!
zhouhaoIT2005 2011-09-16
  • 打赏
  • 举报
回复
同意14楼
q6301536 2011-09-16
  • 打赏
  • 举报
回复
强大啊
-晴天 2011-09-16
  • 打赏
  • 举报
回复
create table tb(id int,col varchar(10))
insert into tb select 5,'aaa' union all select 8,'ccc' union all select 17,'ccc'
go
BEGIN TRANSACTION
GO
CREATE TABLE dbo.Tmp_tb
(
id int NOT NULL IDENTITY (1, 1),
col varchar(10) NULL
) ON [PRIMARY]
GO
SET IDENTITY_INSERT dbo.Tmp_tb ON
GO
IF EXISTS(SELECT * FROM dbo.tb)
EXEC('INSERT INTO dbo.Tmp_tb (id, col)
SELECT id, col FROM dbo.tb WITH (HOLDLOCK TABLOCKX)')
GO
SET IDENTITY_INSERT dbo.Tmp_tb OFF
GO
DROP TABLE dbo.tb
GO
EXECUTE sp_rename N'dbo.Tmp_tb', N'tb', 'OBJECT'
GO
COMMIT
go
insert into tb select 'eee'
select * from tb
/*
id col
----------- ----------
5 aaa
8 ccc
17 ccc
18 eee

(4 行受影响)
*/
drop table tb
wynlc 2011-09-16
  • 打赏
  • 举报
回复
IDENTITY(属性)
在表中创建一个标识列。该属性与 CREATE TABLE 及 ALTER TABLE Transact-SQL 语句一起使用。



说明 IDENTITY 属性与 SQL-DMO Identity 属性不同,后者表现列的行标识属性。


语法
IDENTITY [ ( seed , increment ) ]

参数
seed

装载到表中的第一个行所使用的值。

increment

增量值,该值被添加到前一个已装载的行的标识值上。

必须同时指定种子和增量,或者二者都不指定。如果二者都未指定,则取默认值 (1,1)。

cr890925 2011-01-04
  • 打赏
  • 举报
回复
暴汗你们确定都试过没问题么?这段代码!
jwdream2008 2010-06-09
  • 打赏
  • 举报
回复
alter table tablename alter column columnname int identity
jwdream2008 2010-06-09
  • 打赏
  • 举报
回复
alert table tablename alert column columnname int identity
xuam 2010-06-09
  • 打赏
  • 举报
回复
alter .......
xuam 2010-06-09
  • 打赏
  • 举报
回复
alter
limitstar 2010-06-09
  • 打赏
  • 举报
回复
3楼的写的不错啊
wixinyoyo 2010-06-09
  • 打赏
  • 举报
回复
很多人已经回答了

如果在企业管理器里修改的话 就把字段的 "标识种子" ,"标识增量" 属性都填1就行了
  • 打赏
  • 举报
回复

正确啊
gaojie001 2010-06-09
  • 打赏
  • 举报
回复
alter table table_name alter column column_name int identity
zhoule110 2010-06-09
  • 打赏
  • 举报
回复
楼上正解
njlywy 2010-06-09
  • 打赏
  • 举报
回复
alter

34,587

社区成员

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

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