php - 如何获取插入的最后一行的id(自动增量)

标签 php mysql

任何人都可以给我SQL查询来获取插入的最后一行的id(这是主键和自动增量) 我知道这个论坛上有很多关于这个问题的答案,但没有人考虑并发问题(或者可能是我错过了它们),如果同时任何其他人在获取我最后一个ID之前执行插入查询(来自下面的代码)所以这会产生问题。 这是我认为在我的情况下效果不佳的代码

$result = mysql_query("
    SHOW TABLE STATUS LIKE 'Media'
");
$data = mysql_fetch_assoc($result);
$next_increment = $data['Auto_increment'];

但这里还有一个代码可以解决我的问题

<?php
    $id = mysql_insert_id();
?>

我只是想知道这段代码是否获取实际用户执行的行的插入ID或实际用户行执行后插入的用户的行ID(或表的最后一行)。

我知道这可能是一个愚蠢的问题,但我是一名 PHP 开发人员,不了解 MYSQL 如有任何帮助,我们将不胜感激。

最佳答案

mysql_insert_id 将返回事务中插入的最后一行的 ID。如果您为每个页面创建与 MySQL 的新连接,并且不在页面内使用多个线程,则即使存在多个 INSERT,mysql_insert_id 也应该执行您想要的操作发生在不同的连接上,前提是您没有在 PHP 页面中执行任何棘手的操作。

关于php - 如何获取插入的最后一行的id(自动增量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24237232/

相关文章:

java - PHP DateTime到Java Date

javascript - 如何将 <li> 标签包裹在 <ul> 标签内

php - 如何在 PHP 中从 Unicode 转换表情符号?

mysql - SQL SELECT 最后一个条目没有限制

MYSQL - 如何平均从内部连接表结果返回的投票

Mysql查询获取特定月份生日的所有用户

php - 在 echo 语句中使用循环

php - MySQL查询数据库以显示检查列表的最佳方式

MySQL 锁定具有数百万行的表

Javascript生成的PHP表单数组不解析