我想删除数据库的一个表中的条目。表名是 book 。但是在表 title 中使用外键簿。
book: id, name
title: id, book_id, title
现在我要删除 book 中的条目。所以,我必须删除 title 表中的相关条目。我的代码是:
$this->db->where(book_id,$deleteid);
$this->db->delete(title);
$this->db->where(id,$deleteid);
$this->db->delete(book);
我的问题是第一个 where子句是否会影响我的第二个删除子句? 如果它影响第二个,我该怎么做才能避免这种情况?
感谢。我是PHP的初学者。
答案 0 :(得分:4)
首先where
不会影响第二个delete
。
如果你像这样重写它,你可能会发现它更直观
$this->db->delete('title', array('book_id' => $deleteid));
$this->db->delete('book', array('id' => $deleteid));
答案 1 :(得分:0)
请记住,您正在不同的表中删除这些条目。您拥有的每个条款彼此分开,因此不会相互影响。
答案 2 :(得分:0)
你做得对,只需从标题表中删除外键行,然后从书表中删除主键行。