if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[a]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[a] GOCREATE TABLE [dbo].[a] ( [b] [int] IDENTITY (1, 1) NOT NULL ) ON [PRIMARY] GO --前提表中最好不好数据。
已经存在的列上无法添加Identity属性
CREATE TABLE dbo.Tmp_t1 ( TID int NOT NULL IDENTITY (1, 1), c1 int NULL, c2 varchar(30) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL ) ON [PRIMARY] GO SET IDENTITY_INSERT dbo.Tmp_t1 OFF GO IF EXISTS(SELECT * FROM dbo.t1) EXEC('INSERT INTO dbo.Tmp_t1 (c1, c2) SELECT c1, c2 FROM dbo.t1 TABLOCKX') GO DROP TABLE dbo.t1 GO EXECUTE sp_rename N'dbo.Tmp_t1', N't1', 'OBJECT' GO COMMIT
ALTER TABLE doc_exd WITH NOCHECK ADD CONSTRAINT exd_check CHECK (column_a > 1)
ALTER TABLE doc_exd alter column doc int not null identity(1,1)
UPCC(杂食动物) ------------- 你在有没有在MS-SQL环境下测试过这个语句?能通过编译?ALTER TABLE doc_exd alter column doc int not null identity(1,1)
----先删除欲作为IDENTITY标识的列,例如列名为id alter table tabname drop column id ----重新添加该列,并指定为IDENTIY列,以及创建名为ID_UNIQUE的UNIQUE约束或PRIMARY KEY约束 alter table tabname add id int IDENTITY CONSTRAINT ID_UNIQUE UNIQUE /*或PRIMARY KEY*/
drop table [dbo].[a]
GOCREATE TABLE [dbo].[a] (
[b] [int] IDENTITY (1, 1) NOT NULL
) ON [PRIMARY]
GO
--前提表中最好不好数据。
CREATE TABLE dbo.Tmp_t1
(
TID int NOT NULL IDENTITY (1, 1),
c1 int NULL,
c2 varchar(30) COLLATE Chinese_Taiwan_Stroke_CI_AS NULL
) ON [PRIMARY]
GO
SET IDENTITY_INSERT dbo.Tmp_t1 OFF
GO
IF EXISTS(SELECT * FROM dbo.t1)
EXEC('INSERT INTO dbo.Tmp_t1 (c1, c2)
SELECT c1, c2 FROM dbo.t1 TABLOCKX')
GO
DROP TABLE dbo.t1
GO
EXECUTE sp_rename N'dbo.Tmp_t1', N't1', 'OBJECT'
GO
COMMIT
ADD CONSTRAINT exd_check CHECK (column_a > 1)
alter column doc int not null identity(1,1)
-------------
你在有没有在MS-SQL环境下测试过这个语句?能通过编译?ALTER TABLE doc_exd
alter column doc int not null identity(1,1)
alter table tabname drop column id
----重新添加该列,并指定为IDENTIY列,以及创建名为ID_UNIQUE的UNIQUE约束或PRIMARY KEY约束
alter table tabname add id int IDENTITY CONSTRAINT ID_UNIQUE UNIQUE /*或PRIMARY KEY*/
没有测试