我想获取我刚刚插入的行的 ID。我可以知道怎么做吗[重复]

Posted

技术标签:

【中文标题】我想获取我刚刚插入的行的 ID。我可以知道怎么做吗[重复]【英文标题】:I want to get the ID of a row which i just inserted. May i know how to do it [duplicate] 【发布时间】:2016-12-30 04:13:56 【问题描述】:

这是我在表格行中插入一些值的代码。在下一行中,我想要该行的 id。我可以知道我怎么能得到那个。下面是代码。

$data = array(
'i_course_id' => $post_data['course_id'],
'i_cousem_id' => $crs_semister,
'i_event' => $post_data['event'],
'i_event_year' => $year,
'i_stu_crs_random_id' => $studentData['random_id'],
'i_no_scan' => 1
);
$this->db->insert('i_stud_crs', $data);

【问题讨论】:

很难判断您在这里使用的是哪个数据库抽象/工具层? 它是 mysql 并在 codigniter 模型中使用它。 哪个版本的代码点火器?详情详情... $this->db->insert_id();就在插入查询之后 codeigniter.com/user_guide/database/helpers.html 【参考方案1】:

您应该在$this->db->insert('i_stud_crs', $data); 之后使用$this->db->insert_id() 获得最后插入的ID

【讨论】:

【参考方案2】:

你可以得到最后插入的id为:

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

$insert_id 保存最后插入的 id。

【讨论】:

【参考方案3】:

使用下面的代码

$data = array(
    'i_course_id' => $post_data['course_id'],
    'i_cousem_id' => $crs_semister,
    'i_event' => $post_data['event'],
    'i_event_year' => $year,
    'i_stu_crs_random_id' => $studentData['random_id'],
    'i_no_scan' => 1
    );
    $this->db->insert('i_stud_crs', $data);
    $id = $this->db->insert_id(); 

【讨论】:

以上是关于我想获取我刚刚插入的行的 ID。我可以知道怎么做吗[重复]的主要内容,如果未能解决你的问题,请参考以下文章

获取插入到雪花数据仓库中的行的标识

TSQL获取刚刚插入的行的SQL Autonumber ID

获取 sqldelight 中插入行的行 ID

Oracle:如何获取刚刚插入的行的序列号?

获取最后插入行的主键 ID 以运行多个插入操作 [重复]

如何获取由一个多行插入语句创建的行的所有 id