0

我有以下详细信息的表格

表名EMPLOYEE和列

EMPID (PK smallint not null)
EMPNAME (varchar 256 not null)
ORG (FK smallint not null)
FUNCTION (FK smallint not null)
EFF_DATE (datetime null)
AUDIT_ID (varchar null)

现在我必须在该表中添加一个额外的列ADD_UID并使其成为主键

我正在使用这个查询但失败了。

ALTER TABLE CVADMIN.EMPLOYEE
 ADD ADD_UID  varchar(32) NULL,
 CONSTRAINT PK_EMPLOYEE PRIMARY KEY [NON]CLUSTERED (ADD_UID)
go

表 ' EMPLOYEE' 上已经定义了一个主键。

编辑

这里的想法是新列应该是唯一的,这样如果它失败我可以抛出 _KEY_VIOLATION 以便完成一些代码操作

4

2 回答 2

4

要添加唯一约束(主键的附加),请执行以下操作:

ALTER TABLE EMPLOYEE ADD CONSTRAINT uc_UID UNIQUE (ADD_UID)
于 2010-10-07T09:03:56.263 回答
-1

我们可以通过 alter 语句在任何表上添加新列,但是添加的列可以是null并且您知道主键不接受null任何列。
因此我们不能通过alter语句在新添加的列上创建主键。

于 2011-08-22T22:31:39.963 回答