强制删除有外键约束的数据

 

 

查看实例中的所有外键约束

select c.table_schema            拥有者,
           c.referenced_table_name  父表名称 ,
           c.referenced_column_name 父表字段 ,
           c.table_name             子表名称,
           c.column_name            子表字段
      from information_schema.key_column_usage c
      join information_schema. tables t
        on t.table_name = c.table_name
      join information_schema.referential_constraints r
        on r.table_name = c.table_name
       and r.constraint_name = c.constraint_name
       and r.referenced_table_name = c.referenced_table_name;

 

 

注意:

外键字段与关联的字段的字符集必须相同,否则无法创建外键

 

 

 

 

 

如果无法删除被其他表引用的外键,那么可以先去掉检查外键约束,把数据先删除,后再开启检查。

# SET FOREIGN_KEY_CHECKS=0;

TRUNCATE TABLE user;

delete from host;

# SET FOREIGN_KEY_CHECKS=1;

posted @ 2020-03-11 14:22  igoodful  阅读(1394)  评论(1编辑  收藏  举报