如何在sql中向表中添加约束?

时间:2016-07-01 15:08:09

标签: sql oracle

我创建了一个表

create table CARS{
    CAR_ID  NUMBER(10), CONSTRAINT X_CAR_ID NOT NULL
}

现在我想更改约束的名称,所以我放弃了约束:

ALTER TABLE CARS DROP CONSTRAINT X_CAR_ID;

这是正确的,但是,当我尝试添加新约束时,我遇到了问题, 我的疑问:

ALTER TABLE CARS ADD CONSTRAINT XX_CAR_ID (CAR_ID) NOT NULL;

我认为该查询将正常运行,但我只收到错误报告:

Error report -
SQL Error: ORA-00904:

如何正确添加此约束?

1 个答案:

答案 0 :(得分:1)

虽然我无法测试,但我相信下面的陈述是你想要的:

ALTER TABLE CARS MODIFY CAR_ID CONSTRAINT XX_CAR_ID NOT NULL;

Oracle在此上下文中使用modify关键字。

要先重命名而不先删除,您可以使用:

alter table cars rename constraint x_car_id to xx_car_id;

有关详细信息,请参阅reference