如何截断外键约束表?

拜拜、爱过 提交于 2020-07-27 09:06:57

问题:

Why doesn't a TRUNCATE on mygroup work? 为什么mygroup上的TRUNCATE不起作用? Even though I have ON DELETE CASCADE SET I get: 即使我有ON DELETE CASCADE SET我得到:

ERROR 1701 (42000): Cannot truncate a table referenced in a foreign key constraint ( mytest . instance , CONSTRAINT instance_ibfk_1 FOREIGN KEY ( GroupID ) REFERENCES mytest . mygroup ( ID )) ERROR 1701(42000):无法截断外键约束引用的表( mytestinstance ,约束instance_ibfk_1外键( GroupID )参考文献mytestmygroupID ))

drop database mytest;
create database mytest;
use mytest;

CREATE TABLE mygroup (
   ID    INT NOT NULL AUTO_INCREMENT PRIMARY KEY
) ENGINE=InnoDB;

CREATE TABLE instance (
   ID           INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   GroupID      INT NOT NULL,
   DateTime     DATETIME DEFAULT NULL,

   FOREIGN KEY  (GroupID) REFERENCES mygroup(ID) ON DELETE CASCADE,
   UNIQUE(GroupID)
) ENGINE=InnoDB;

解决方案:

参考一: https://stackoom.com/question/MsVk/如何截断外键约束表
参考二: https://oldbug.net/q/MsVk/How-to-truncate-a-foreign-key-constrained-table
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!