使用truncate ,截断有外键约束的父表
Posted 包子没馅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用truncate ,截断有外键约束的父表相关的知识,希望对你有一定的参考价值。
此时有两种方法,解决
1.删除外键约束,删除该表,在重建外键约束
--查询外键约束
select TABLE_NAME,CONSTRAINT_NAME,CONSTRAINT_TYPE,R_CONSTRAINT_NAME
from ALL_CONSTRAINTS
WHERE constraint_type=\'R\' and owner=\'SCOTT\';
删掉外键约束
alter table emp drop constraint fk_deptno;
truncate 表后如果仍然想要关联原来的子表,重新添加约束
alter table emp add constraint fk_deptno foreign key (deptno) references dept (deptno) on delete cascade;
2.使用禁止方式,使外键失效,truncate 表后重新使生效,不重建约束
ALTER TABLE emp DISABLE CONSTRAINT fk_deptno ;
truncate父表数据的操作
truncate table dept;
重新生效外键约束
ALTER TABLE emp enable CONSTRAINT fk_deptno;
文章可以转载,必须以链接形式标明出处。
以上是关于使用truncate ,截断有外键约束的父表的主要内容,如果未能解决你的问题,请参考以下文章