让我先解释一下表结构:
+-----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| firstname | varchar(255) | NO | | NULL | |
| name | varchar(255) | NO | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
id字段从另一个表通过外键引用。
说我在我的模型,这样的功能:
public function delete_user($id) {
return $this->db->delete('users', array('id' => $id));
}
当该用户从其他表引用,则应该抛出一个错误。 “坏”的事情是,笨实际显示完整页面上的错误:
Error Number: 1451
Cannot delete or update a parent row: a foreign key constraint fails (`testing`.`users_link`, CONSTRAINT `users_link_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`))
DELETE FROM `users` WHERE `id` = '1'
有没有一种方法,使DELETE_USER函数返回FALSE,而不是显示错误? 我想通知他们必须做别的事情第一用户。 我尝试使用交易并返回transaction_status,但仍然引发错误。