问题:
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_1
FOREIGN 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