如何在 ALTER TABLE 语句中添加“ON DELETE CASCADE"

How to add #39;ON DELETE CASCADE#39; in ALTER TABLE statement(如何在 ALTER TABLE 语句中添加“ON DELETE CASCADE)
本文介绍了如何在 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"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)