使用php在mysql中查找最后插入的ID的最佳方法

时间:2012-04-29 10:10:15

标签: php mysql mysql-insert-id

我想知道在mysql查询后获取最后一个插入ID的最佳解决方案是什么?

我找到了以下解决方案:

<?php
function get_current_insert_id($table)
{
    $q = "SELECT LAST_INSERT_ID() FROM $table"; 
    return mysql_num_rows(mysql_query($q)) + 1;
}
?>

甚至使用mysql_insert_id php函数,但显然这个函数不适用于bigint(这就是我用于ID字段的东西),如果有很多连续的sql查询,它可能是不可靠的。

有人可以提供可靠而快速的解决方案来完成这项任务吗?

2 个答案:

答案 0 :(得分:10)

答案 1 :(得分:4)

如果使用单个INSERT语句插入多行,则LAST_INSERT_ID()仅返回为第一个插入行生成的值。这样做的原因是可以轻松地为其他服务器重现相同的INSERT语句。