我正在尝试从一个表中删除某个字段,并且我希望它从另一个表中删除所有关联的字段(包含适当 fk 的字段)。
表格1
id | name | fname
表 2
id | table1Id | ...
table1Id 设置为引用 Table1 主键的外键,我已设置ON DELETE CASCADE
现在我的代码很简单,它从 Table1 中删除了行,如下所示:
function deleteWill($Id)
{
$stmt = $this->db->stmt_init();
if($stmt->prepare('DELETE FROM Table1 where id= ?'))
{
$stmt->bind_param("i", $Id);
$stmt->execute();
$stmt->close();
return true;
}
else
{
$stmt->close();
return false;
}
}
但是该CASCADE
选项不起作用!
这是否与我在 Table2 中有多个具有相同 fk 的行的事实有关?
如果是这样,我该如何解决这个问题,以便删除 Table2 中的所有关联行?