如何在插入查询中获得auto_increment值?

时间:2013-04-22 18:28:19

标签: php mysql codeigniter

所以,我想知道你是否要启动这个查询:

INSERT INTO users (name, gender, location) VALUES ('Ricky-Bobby', 'm', 'Daytona Beach, FL');

假设users主键有另一个自动递增列,那么如何在不启动其他查询的情况下获取该主键的值?

4 个答案:

答案 0 :(得分:3)

codeigniter使$this->db->last_insert_id()

可用

http://ellislab.com/codeigniter/user-guide/database/helpers.html

答案 1 :(得分:3)

Codeigniter通过函数SELECT LAST_INSERT_ID()简化了MySQL查询$this->db->insert_id()

虽然这个一个查询,但它是一个非常轻的,不会出现性能问题。需要注意的一点是:

  • 如果您想要插入行上的ID; $this->db->insert_id()
  • 如果您想要auto_increment值,这是INSERT作为id的下一个值,只需$this->db->insert_id() + 1

答案 2 :(得分:1)

您可以将LAST_INSERT_ID()与查询结合使用:

INSERT INTO users (name, gender, location) VALUES ('Ricky-Bobby', 'm', 'Daytona Beach, FL');
SELECT LAST_INSERT_ID();

答案 3 :(得分:0)

如果您使用的是PDO,可以使用此功能

http://php.net/manual/en/pdo.lastinsertid.php