2013-08-29 123 views
0

我想刪除我的數據庫的一個表中的一個條目。表名是,書。但在表標題使用外鍵書。用codeigniter從數據庫中刪除PHP

book: id, name 
title: id, book_id, title 

現在我想刪除的條目。所以,我必須刪除標題表中的相關條目。我的代碼是:

$this->db->where(book_id,$deleteid); 
$this->db->delete(title); 

$this->db->where(id,$deleteid); 
$this->db->delete(book); 

我的問題是第一where子句會影響我的第二刪除第? 如果它影響第二個,我應該怎麼做才能避免這種情況?

謝謝。我是PHP的初學者。

回答

4

沒有第一where不會影響第二delete

您可能會發現它更直觀,如果你重寫它這樣

$this->db->delete('title', array('book_id' => $deleteid)); 
$this->db->delete('book', array('id' => $deleteid)); 
+0

THX你的建議。 – MarshalSHI

0

請記住,您正在刪除不同表中的這些條目。您擁有的每個條款都是彼此分開的,因此它們不會互相影響。

0

你正在做的是正確的,只需從標題表中刪除外鍵行,然後刪除書表中的主鍵行。