如何将PK添加到DB2中的现有表?

时间:2012-09-10 11:01:30

标签: sql db2

我正面临一个问题。我已经在DB2中创建了一个表。

CREATE TABLE "DDL12"
(
 "D4_1" decimal(10,0),
 "D4_2" decimal(10,0),
);

我正在尝试在此表上创建一个PK: -

ALTER TABLE "DDL12" ADD CONSTRAINT "Key4" PRIMARY KEY ("D4_1");

但是在运行命令时,我收到的错误是说D4_1是NULLABLE。

现在,如何在此表上创建PK?

由于

1 个答案:

答案 0 :(得分:1)

是的,这是因为您的数据库现在可以在非PK列中“拥有”具有NULL值的行。

首先将列设置为NOT NULL(+确保在所有行中都有唯一值),然后使用上面的命令设置主键。

您可以将列更改为非NULL,如下所示:

ALTER TABLE "DDL12"
 MODIFY "D4_1"   decimal(10,0)     NOT NULL;