ORA-02432: cannot enable primary key – primary key not defined for table
Cause: Attempted to enable a primary key that is not defined for the table.
Action: Need to add a primary key definition for the table.
ORA-02432: cannot enable primary key – primary key not defined for table
该错误消息指出在为数据表定义主键之前,不允许使用“ENABLE PRIMARY KEY”语句。
The ORA-02432 error message occurs when an attempt is made to enable a primary key on a table without first defining a primary key for the table.
下面的示例会引发ORA-02432错误信息:
SQL>ENABLE PRIMARY KEY;
ERROR at line 1:
ORA-02432: cannot enable primary key – primary key not defined for table
要解决ORA-02432错误,需要定义一个满足以下要求的主键:
1.主键必须是表的一列或多列,取决于数据库类型。
2.主键值不能重复。
3.主键值不能为空。
一旦满足了上述条件,可以使用ALTER TABLE语句定义主键,然后再尝试使用ENABLE PRIMARY KEY语句启用主键:
SQL>ALTER TABLE table_name
ADD CONSTRAINT pk_name PRIMARY KEY (col1, col2,…);
SQL>ENABLE PRIMARY KEY;