设有三个表A、B、C:
A有 a,data两个字段 a为主键
B有 b,data两个字段 b为主键
c有 a,b且均引用A、B的主键为外键,并且设置了级联删除。
如CREATE TABLE c (
a INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
b INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
FOREIGN KEY (a) REFERENCES A(a) ON DELETE CASCADE
FOREIGN KEY (b) REFERENCES B(b) ON DELETE CASCADE
) TYPE=InnoDB;
这样如果删除ABC中任何一个表都会出错。请问如何解决?我们的数据库很多表都是这样设置的,想更改依赖关系已经不可能。
A有 a,data两个字段 a为主键
B有 b,data两个字段 b为主键
c有 a,b且均引用A、B的主键为外键,并且设置了级联删除。
如CREATE TABLE c (
a INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
b INT(11) UNSIGNED AUTO_INCREMENT NOT NULL,
FOREIGN KEY (a) REFERENCES A(a) ON DELETE CASCADE
FOREIGN KEY (b) REFERENCES B(b) ON DELETE CASCADE
) TYPE=InnoDB;
这样如果删除ABC中任何一个表都会出错。请问如何解决?我们的数据库很多表都是这样设置的,想更改依赖关系已经不可能。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货