如何修改约束条件

120

如何修改SQL约束条件

以下是我的一个约束条件

CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode),

我想要添加进去

ON DELETE CASCADE

如何修改现有的约束条件 ACTIVEPROG_FKEY1 并添加

到上述约束条件。

ON DELETE CASCADE

约束 ACTIVEPROG_FKEY1

考虑 ACTIVEPROG_FKEY1 在表 ACTIVEPROG 中

2个回答

183

您无法更改限制条件,但可以删除它们,然后重新创建。

看一下这个

ALTER TABLE your_table DROP CONSTRAINT ACTIVEPROG_FKEY1;

然后使用ON DELETE CASCADE重新创建它,如下所示

ALTER TABLE your_table
add CONSTRAINT ACTIVEPROG_FKEY1 FOREIGN KEY(ActiveProgCode) REFERENCES PROGRAM(ActiveProgCode)
    ON DELETE CASCADE;

希望这可以帮助到您


您可以启用/禁用约束。 - Florin Ghita
1
@FlorinGhita,是的,我们可以启用/禁用...............有时禁用表上的一个或多个约束非常有用,可以执行一些重要操作,然后在完成后重新启用约束。这通常在批量加载操作期间进行以提高性能。 - andy
添加 IF EXISTS 可以确保您始终可以运行此操作并确保键始终存在,因此它不依赖于特定的顺序。 - edelwater

20

不可以修改这个约束,我们只能删除并重新创建它。

ALTER TABLE [TABLENAME] DROP CONSTRAINT [CONSTRAINTNAME]

外键约束

Alter Table Table1 Add Constraint [CONSTRAINTNAME] Foreign Key (Column) References Table2 (Column) On Update Cascade On Delete Cascade

主键约束

Alter Table Table add constraint [Primary Key] Primary key(Column1,Column2,.....)

6
OP想要的确实是不可能的,但为什么你会在一个标记为Oracle的问题中发布SQL Server网站的链接? - Frank Schmitt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接