首页 > 后端开发 > php教程 > 如何在 PHP/MySQL 中高效检索 INSERT 后的自增 ID?

如何在 PHP/MySQL 中高效检索 INSERT 后的自增 ID?

DDD
发布: 2024-12-08 04:12:10
原创
884 人浏览过

How to Efficiently Retrieve the Auto-Incremented ID After an INSERT in PHP/MySQL?

在 PHP/MySQL 中插入一行并检索“id”

在 MySQL 表中插入一行通常需要检索新生成的“id”对于插入的行。通常,这需要后续查询来获取与插入数据匹配的行,但这种方法可能会出现具有不同“id”值的重复行。

更有效的方法是利用 MySQL 的自动增量功能和 PHP mysqli_insert_id() 函数。此函数允许您检索当前连接中最后插入的行的 ID:

<?php
$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db');
mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')");
$id = mysqli_insert_id($link);
?>
登录后复制

这种方法消除了竞争条件的风险,并提供了一种可靠的方法来获取新插入的“id” row.

另一种技术涉及在单个事务中执行两个查询,利用 MySQL 的 LAST_INSERT_ID()方法:

<?php
mysqli_query($link, "INSERT INTO my_user_table ...;
  INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");
?>
登录后复制

此方法在单个事务中修改两个表,确保受影响表之间的数据一致。

以上是如何在 PHP/MySQL 中高效检索 INSERT 后的自增 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板