繁体   English   中英

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

[英]How would you get an auto_increment value on an insert query?

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

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

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

codeigniter使这个可用$this->db->last_insert_id()

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

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

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

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

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

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

如果您使用的是PDO,可以使用它

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM