清空具有外键约束的表时报ERROR 1701(42000)的解决

清空具有外键约束的表时报ERROR 1701(42000)的解决

ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key
constraint (`furion`.`tbl_frn_alert`, CONSTRAINT `FK353A3CBEB139CC08`
FOREIGN KEY (`endpt_id`) REFERENCES `furion`.`tbl_frn_endpt` (`id`))

解决方法:

mysql> SET foreign_key_checks=0;

删除后

mysql> SET foreign_key_checks=1;

时间: 2024-09-26 16:01:48

清空具有外键约束的表时报ERROR 1701(42000)的解决的相关文章

Oracle外键约束子表、父表

  CREATE TABLE employees( employee_id NUMBER(6), last_name VARCHAR2(25) NOT NULL, email VARCHAR2(25), salary NUMBER(8,2), commission_pct NUMBER(2,2), hire_date DATE NOT NULL, ... department_id NUMBER(4), CONSTRAINT emp_dept_fk FOREIGN KEY (department

MySQL · 捉虫动态 · 并行复制外键约束问题二

背景 并行复制可以大大提高备库的 binlog 应用速度,内核月报也多次对并行复制特性进行介绍,感兴趣的朋友可以回顾下:5.6 并行复制实现分析.5.6 并行复制恢复实现 和 5.6并行复制事件分发机制. 在早期的内核月报,有一篇 并行复制外建约束问题,介绍阿里在 5.5 版本中自己实现并行复制时遇到的外键约束问题,本文接着前作继续介绍并行复制外键约束问题,这次场景不一样,并且目前官方 5.6 最新版本(5.6.30)中也有这个问题. 问题描述 一般情况的复制是 A->B 这样一主一备,本文要描

MySQL · 捉虫动态·DROP DATABASE外键约束的GTID BUG

背景 MySQL的DDL没有被设计成事务操作,因此DDL操作是无法回滚的(像PgSQL把DDL也设计成事务操作,DDL就可以在执行成功后被回滚操作取消).这就会导致如果某个DDL语句内部被拆分为多个原子的DDL调用,那么这个DDL语句就不具备中途执行失败后回滚整个DDL语句的能力,也就是说,即使语句逻辑内的某个原子DDL调用失败了,也无法回滚已经完成的那些原子DDL调用. 问题描述 DROP DATABASE 就是一个例子,对于MySQL而言,DROP DATABASE 并非是一个原子DDL操作

PostgreSQL 能否自定义外键约束,用来检查关联表的逻辑删除

问题描述 PostgreSQL 能否自定义外键约束,用来检查关联表的逻辑删除 商品表:create table goods(id serial primary keyname character varyingdelete_flag integer not null default 0);delete_flag=0表示正常的数据,delete_flag=1的表示被删除的数据.订单表:create table orders(id integergoods_id integer);能否在订单表添加外

select-两表有外键关系,但没有外键约束,根据A 表ID 查找B 表

问题描述 两表有外键关系,但没有外键约束,根据A 表ID 查找B 表 Select s.ID as SID,s.NAME as SNAME,d.ID as DID,d.NAME as DNAME,d.SEQ as DSEQ,d.SYSDATE as DSYSDATE,d.ISACTIVES as DISACTIVES From TSPC as s,TSPCDETAIL as d where s.ID=d.SPECID and SID=#{SID},根据id 查找 TSPCDETAIL 可以这样写

聊聊Oracle外键约束的几个操作选项

关系型数据库是以数据表和关系作为两大对象基础.数据表是以二维关系将数据组织在DBMS中,而关系建立数据表之间的关联,搭建现实对象模型.主外键是任何数据库系统都需存在的约束对象,从对象模型中的业务逻辑加以抽象,作为物理设计的一个部分在数据库中加以实现. Oracle外键是维护参照完整性的重要手段,大多数情况下的外键都是紧密关联关系.外键约束的作用,是保证字表某个字段取值全都与另一个数据表主键字段相对应.也就是说,只要外键约束存在并有效,就不允许无参照取值出现在字表列中.具体在Oracle数据库中,

MySQL数据库中的外键约束详解

使用MySQL开发过数据库驱动的小型web应用程序的人都知道,对关系数据库的表进行创建.检索.更新和删除等操作都是些比较简单的过程.理论上,只要掌握了最常见的SQL语句的用法,并熟悉您选择使用的服务器端脚本语言,就足以应付对MySQL表所需的各种操作了,尤其是当您使用了快速MyISAM数据库引擎的时候.但是,即使在最简单的情况下,事情也要比我们想象的要复杂得多.下面我们用一个典型的例子进行说明.假设您正在运行一个博客网站,您几乎天天更新,并且该站点允许访问者评论您的帖子. 在这种情况下,我们的数

sql server中的外键约束

server sql server中建立外键约束有3中方式:1.Enterprise Manager中,Tables,Design Table,设置Table的properties,   可以建立constraint, reference key;2.Enterprise Manager中,Diagrams, new Diagrams,建立两个表的关系.3.直接用transact sql语句. 三个方法都需要先建立数据表.-- 创建表author :CREATE TABLE [dbo].[aut

讲解SQL与Oracle外键约束中的级联删除

最近软件系统中要删除一条记录,就要关联到同时删除好多张表,它们之间还存 在着约束关系.所以考虑到在创建表时加上约束关系,详细内容如下: SQL的外键约束可以实现级联删除与级联更新; ORACLE则只充许级联删除. SQL级联删除与级联更新使用格式: CREATE TABLE A001(ID INT PRIMARY KEY,NAME VARCHAR(20)) CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE ON UPDAT