建表的时候,你可以建立这叫ID的字段。
然后向下(周围)看看其他窗口,有针对该字段的详细属性。不同版本位置不一样。
里边有这样的提示,中文应该是“自动XX”或者“标识”什么的字样,忘记了。
英文的是Identity 等字样,你选则“是”或者 “Yes”
然后是从1开始,增量是1
我是2008英文的,你看看。
你若是中文的自己找找看。
假设原表结构如下:
create table ttt
(
t1 int,
t2 varchar(
)
现在想把字段t1设为自增字段和主键.
CREATE TABLE dbo.Tmp_ttt
(
t1 int NOT NULL IDENTITY (1, 1),
t2 varchar( NULL
)
go
SET IDENTITY_INSERT dbo.Tmp_ttt ON
go
IF EXISTS(SELECT * FROM dbo.ttt)
EXEC(\'INSERT INTO dbo.Tmp_ttt (t1, t2)
SELECT t1, t2 FROM dbo.ttt TABLOCKX\')
go
SET IDENTITY_INSERT dbo.Tmp_ttt OFF
go
DROP TABLE dbo.ttt
go
EXECUTE sp_rename N\'dbo.Tmp_ttt\', N\'ttt\', \'OBJECT\'
go
ALTER TABLE dbo.ttt ADD CONSTRAINT
PK_ttt PRIMARY KEY CLUSTERED
(
t1
) ON [PRIMARY]
COMMIT
为什麼不用
alter table ttt drop column t1
go
alter table ttt add t1 identity(1,1) not null
go
alter table ttt add constrain primary key pk_t (t1)
的方法.
是因为先删掉一列.再增加一列.
那麼列的顺序就改变了.
有可能带来意想不到的问题.
(比方说,你的程序中有个insert语句是没有写字段名的)
加个列名,比如叫id,类型选择int 下面的标识选择 是
标识种子 1 标识递增量 1 然后把本列指定为主键..就OK了.
sql = "CREATE TABLE " + tbName
+ "(Id int primary key identity(1,1)";