我想從一個表中刪除某個字段,我希望它從一個不同的表中刪除所有關聯的字段(包含適當的FK)。PHP SQLite與外鍵刪除級聯多個條目
表1
id | name | fname
表2
id | table1Id | ...
的table1Id被設置爲一個外鍵引用表1的主鍵。我將ON DELETE CASCADE
現在我的代碼很簡單,它刪除表1中的行,如下所示:
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
選項不起作用!
這是否與表2中有多行具有相同fk的事實有關?
如果是這樣,我該如何解決這個問題,以便它刪除表2中的所有關聯行?