MySQL 截断错误

标签 mysql sql

尝试删除所有数据并将 AUTOMATIC_INCRMENT 重置为值 0,以便我有一个干净的数据库可以使用。找到一个截断函数,应该允许我执行上述操作,但它会抛出此错误... 无法截断外键约束中引用的表

(`film`.`reviewed`, CONSTRAINT `reviewed_ibfk_1` FOREIGN KEY (`movie_id`) REFERENCES `film`.`films` (`movie_id`))

这是否意味着我必须删除外键?

最佳答案

是的,您不能截断具有外键约束的表

根据docs :-

TRUNCATE TABLE fails for an InnoDB table if there are any FOREIGN KEY constraints from other tables that reference the table. Foreign key constraints between columns of the same table are permitted.

尽管您可以选择这样做:-

SET FOREIGN_KEY_CHECKS=0;
TRUNCATE table1;
SET FOREIGN_KEY_CHECKS=1;

关于MySQL 截断错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19325077/

相关文章:

mysql - 从 mysql 转换为 mongodb 后我应该改变表的结构吗

mysql - SQL-从字段唯一的表中获取最新记录

python - SQL 会计日期、平面文件、痛苦

php - mysql_result() 无法找到 rsource

mysql - 在 MySQL 中使用区分重音的主键

sql - 检测笛卡尔积或其他不敏感的查询

sql - Ruby on Rails find_by 不区分大小写

php - 如何在 WHERE 子句中使用 CASE WHEN?

c# - 使用 IN 子句更新 SQL Server 中的多行

mysql - 在 MySql 中对 Varchar 列设置索引