【问题标题】:How i doing for get last id in update row in database?我如何在数据库的更新行中获取最后一个 ID?
【发布时间】:2015-03-17 14:48:53
【问题描述】:

我想在 mysql 中更新最后一个 id,如何...:

 $this->db->insert('mytable', $data); 
 $id = $this->db->insert_id();

然后.. $id 是我的最后一个 id,但我想在模型的更新函数中获取“最后一个 id”。

【问题讨论】:

  • 那么.. Codeigniter 不支持在更新中返回最后一个 id? ...好的...我使用查询 sql 来获取这个值....??
  • 这当然没有意义。如果您的更新针对单行,则您必须已经拥有 id 才能使更新具体化。如果更新会更新很多行,上次更新的id有什么用?
  • 我猜你更新了一行,使用列标识,而不是“id”列。即“用户名”等。而且,您希望记录的“id”对其进行进一步处理吗?没有办法在一个查询中做到这一点。但是,通常进行几个查询是完全可以的。先选择记录,然后更新。

标签: php mysql codeigniter


【解决方案1】:

您可以尝试在 $id; 上设置一个返回值。在您的帖子中,您说您想获得上次更新 ID,但您已经插入。

更新时未经测试,但插入时测试。

型号

public function insert() {
  $id = $this->db->insert_id() ;
  $this->db->insert('mytable'); 
  return $id;
}

public function addData($id, $data) {
  $data = array(
   'username' => $this->input->post('username')
  );
  $this->db->insert('anothertable', $data); 
}

控制器

public function index() {
$this->load->model('yourmodel');

$id = $this->yourmodel->insert();


$this->yourmodel->addData($id, $this->input->post());


}

【讨论】:

  • 他以插入为例说明他希望更新如何工作。不是你的错,问题不太清楚。
猜你喜欢
  • 2015-01-03
  • 1970-01-01
  • 2021-10-01
  • 2010-11-26
  • 2014-05-09
  • 2013-01-25
  • 1970-01-01
  • 2013-12-09
  • 1970-01-01
相关资源
最近更新 更多