如何在 ALTER TABLE 语句中添加“ON DELETE CASCADE" [英] How to add 'ON DELETE CASCADE' in ALTER TABLE statement

查看:41
本文介绍了如何在 ALTER TABLE 语句中添加“ON DELETE CASCADE"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的表中有一个外键约束,我想向它添加 ON DELETE CASCADE.

我已经试过了:

<前>更改表 child_table_name修改约束 fk_name外键(child_column_name)在删除级联上引用 parent_table_name (parent_column_name);

不起作用.


外键已存在,外键列有数据.

执行语句后得到的错误信息:

<前>ORA-02275: 表中已存在此类引用约束

解决方案

您不能将 ON DELETE CASCADE 添加到已存在的约束中.您必须drop 并重新create 约束.文档a> 显示MODIFY CONSTRAINT 子句只能修改约束状态(即:ENABLED/DISABLED...).

I have a foreign key constraint in my table, I want to add ON DELETE CASCADE to it.

I have tried this:

alter table child_table_name
  modify constraint fk_name
  foreign key (child_column_name)
  references parent_table_name (parent_column_name) on delete cascade;

Doesn't work.

EDIT:
Foreign key already exists, there are data in foreign key column.

The error message I get after executing the statement:

ORA-02275: such a referential constraint already exists in the table

解决方案

You can not add ON DELETE CASCADE to an already existing constraint. You will have to drop and re-create the constraint. The documentation shows that the MODIFY CONSTRAINT clause can only modify the state of a constraint (i-e: ENABLED/DISABLED...).

这篇关于如何在 ALTER TABLE 语句中添加“ON DELETE CASCADE"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆