问题:
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, CONSTRAINTinstance_ibfk_1FOREIGN KEY (GroupID) REFERENCESmytest.mygroup(ID)) ERROR 1701(42000):无法截断外键约束引用的表(mytest。instance,约束instance_ibfk_1外键(GroupID)参考文献mytest。mygroup(ID))
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
来源:oschina
链接:https://my.oschina.net/stackoom/blog/4278894