首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP/MySQL在插入后获取自动递增的值

PHP/MySQL在插入后获取自动递增的值
EN

Stack Overflow用户
提问于 2012-01-02 22:17:34
回答 9查看 33.8K关注 0票数 22

在我的mysql表中,我有一个id-column,它被设置为自动增量。

然后我像这样做查询:

插入表格(id,foo)值('','bar')

那么我如何安全地找出哪个id是通过这个插入生成的呢?

如果我只查询最后一个id,这可能是不安全的,因为在此期间可能发生了另一次插入,对吧?

EN

回答 9

Stack Overflow用户

发布于 2012-01-02 22:20:15

在SQL中使用LAST_INSERT_ID()

代码语言:javascript
复制
    SELECT LAST_INSERT_ID();

在PHP中使用mysql_insert_id()

票数 4
EN

Stack Overflow用户

发布于 2013-04-09 08:55:06

如果您使用PHP来获取在INSERT语句之后返回的auto_incremented值,请尝试使用MySQLi insert_id function。较早的mysql_insert_id()版本在PHP中将被弃用。

下面是一个示例:

代码语言:javascript
复制
 <?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf ("New Record has id %d.\n", $mysqli->insert_id);

/* drop table */
$mysqli->query("DROP TABLE myCity");

/* close connection */
$mysqli->close();
?>
票数 3
EN

Stack Overflow用户

发布于 2012-01-02 22:20:30

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8701885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档