zoukankan      html  css  js  c++  java
  • 使用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;

    文章可以转载,必须以链接形式标明出处。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    day08作业
    Python进制之间的转换
    day07作业
    Python之深浅拷贝详解
    day06作业
    Python流程控制-循环语句for、while
    Python条件语句-if
    Python变量类型之可变/不可变类型
    Cross platform
    Windows version PE System Key
  • 原文地址:https://www.cnblogs.com/dqliuq1215/p/9142609.html
Copyright © 2011-2022 走看看