0

我想在我的数据库的一个表中删除一个条目。表名是book。但在表标题中使用外键书。

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

现在我想删除book中的一个条目。所以,我必须删除标题表中的相关条目。我的代码是:

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

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

我的问题是第一个where 子句是否会影响我的第二个delete 子句?如果它影响第二个,我应该怎么做才能避免这种情况?

谢谢。我是PHP的初学者。

4

3 回答 3

4

不,第一个where不会影响第二个delete

如果你像这样重写它,你可能会发现它更直观

$this->db->delete('title', array('book_id' => $deleteid));
$this->db->delete('book', array('id' => $deleteid));
于 2013-08-29T03:25:17.637 回答
0

请记住,您正在删除不同表中的这些条目。您拥有的每个子句都是相互独立的,因此不会相互影响。

于 2013-08-29T03:15:02.940 回答
0

你做得对,只需从 title 表中删除外键行,然后从 book 表中删除主键行。

于 2013-08-29T03:21:04.370 回答