任何人都可以给我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/