【发布时间】:2021-04-02 21:21:21
【问题描述】:
我有两个表:Person 和 Customer,具有相同的 PK(“客户”是 person 的子类型:person (SSN) 的 pk 是相同的客户 PK)。这些表通过识别关系连接。
当我尝试截断父表“客户”时,我收到以下错误消息:
'不能截断外键约束中引用的表"
CONSTRAINT `fk_Customer_T_Person_T1`
FOREIGN KEY (`Person_T_SSN`)
REFERENCES `db`.`Prson_T` (`SSN`)
ON DELETE CASCADE)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;
如您所见,我已经添加了“关于删除级联”的约束:当亲自删除一行时,表中的客户将被删除,该行与已删除的 SSN 相同。
但是当我尝试截断时,它不起作用。为什么?
【问题讨论】:
-
是否存在与要截断的表相关的第三个表?
-
是的,还有另一个表,MANAGER,它是PERSON的另一个子类型,与标识关系@Akina连接