105

SQL 如何更改约束

以下是我的 1 个约束

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

我想添加

ON DELETE CASCADE

到上面的约束。

我如何更改现有的约束 ACTIVEPROG_FKEY1 并添加

ON DELETE CASCADE

约束 ACTIVEPROG_FKEY1

考虑 ACTIVEPROG_FKEY1 在表 ACTIVEPROG

4

2 回答 2

166

您永远无法更改约束,但可以删除它们然后重新创建。

看看这个

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;

希望这有帮助

于 2012-11-06T05:43:46.950 回答
14

不,我们不能改变约束,我们唯一能做的就是删除并重新创建它

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,.....)
于 2012-11-06T05:28:44.353 回答