Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有空tablr的Mysql innodb引用完整性_Mysql_Foreign Keys_Referential Integrity - Fatal编程技术网

具有空tablr的Mysql innodb引用完整性

具有空tablr的Mysql innodb引用完整性,mysql,foreign-keys,referential-integrity,Mysql,Foreign Keys,Referential Integrity,空表如何抛出“外键约束失败”? 我有两个表:“listini”和“listinoprezzi”,第二个表是对第一个表的外来引用。但是,“listinoprezzi”是空的,当我试图截断“listini”时,我得到: 怎么可能呢?如(重点补充)所述: 为了获得高性能,它绕过了删除数据的DML方法。因此,它不能回滚,不会导致触发删除时的触发器,并且不能对具有父子外键关系的InnoDB表执行该操作。 虽然类似于,但它被分类为DDL语句,而不是DML语句。它与MySQL 5.5的不同之处在于: [del

空表如何抛出“外键约束失败”? 我有两个表:“listini”和“listinoprezzi”,第二个表是对第一个表的外来引用。但是,“listinoprezzi”是空的,当我试图截断“listini”时,我得到:

怎么可能呢?

如(重点补充)所述:

为了获得高性能,它绕过了删除数据的DML方法。因此,它不能回滚,不会导致触发删除时的
触发器,并且不能对具有父子外键关系的
InnoDB
表执行该操作。

虽然类似于,但它被分类为DDL语句,而不是DML语句。它与MySQL 5.5的不同之处在于:

[deletia]

  • 如果引用该表的其他表中存在任何
    外键
    约束,则InnoDB
表将失败。允许在同一表的列之间存在外键约束
您可以:先删除外键约束,然后
截断
;或者只需使用
删除
#1701 - Cannot truncate a table referenced in a foreign key constraint (`listiniprezzi`, CONSTRAINT `listiniprezzi_ibfk_4` FOREIGN KEY (`listino`) REFERENCES `listini` (`id`))