主键列的SQL Alter语句

时间:2013-05-10 12:11:30

标签: sql database sql-server-2008

我在使用SQL ALTER语句创建列时遇到问题。我对SQL很新手,所以任何指导都会很棒。我正在使用SQL Sever 2008,我收到一条错误,指出该列无法添加到表中,因为它不允许空值,也没有指定默认定义。我已经在表中有数据,我只是想添加一个增量主键。

这是我用来生成列的SQL

ALTER TABLE EPUpdates.GenInfo_OpType3
ADD KeyOpType Integer NOT NULL

这是我用来使其成为主键/标识列的SQL

ALTER TABLE EPUpdates.GenInfo_OpType3
ADD PRIMARY KEY(KeyOpType)

2 个答案:

答案 0 :(得分:1)

尝试向列中添加默认值,但如果要将其作为主键,则每行的值必须不同,因此在创建新列之后和创建之前必须更新这些值。主要指数。

ALTER TABLE EPUpdates.GenInfo_OpType3
ADD KeyOpType Integer NOT NULL Default 0

答案 1 :(得分:0)

如果您尝试添加增量主键,请尝试使用

ALTER TABLE EPUpdates.GenInfo_OpType3
ADD KeyOpType INT NOT NULL IDENTITY (1,1) PRIMARY KEY