How to add #39;ON DELETE CASCADE#39; in ALTER TABLE statement(如何在 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"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 ALTER TABLE 语句中添加“ON DELETE CASCADE"
基础教程推荐
- MySQL 5.7参照时间戳生成日期列 2022-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- 从字符串 TSQL 中获取数字 2021-01-01
- 带更新的 sqlite CTE 2022-01-01
