2013-08-29 71 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

你正在做的是正确的,只需从标题表中删除外键行,然后删除书表中的主键行。