返回id AUTO_INCREMENT值插入后立即在mysql数据库中


return id AUTO_INCREMENT value in mysql DB immediately after insert

我使用这个mysqli代码插入到数据库中。

mail DB有一个id AUTO_INCREMENT

$sql = "INSERT INTO mail (".$sqlname.") VALUES (".$sqlValue.")";
        if (!($conn->query($sql) === TRUE)) 
        {
            echo 'false';
            return false;
        }
        else
             return $id; // return id of insereted record in table

是否有任何方法返回id在邮件表插入后实时?

我可以通过调用另一个函数....来调用lastid

说明:

当生成一个新的AUTO_INCREMENT值时,您也可以通过mysql_query()执行SELECT LAST_INSERT_ID()语句并从该语句返回的结果集中检索该值来获得它。

对于LAST_INSERT_ID(),根据每个连接在服务器中维护最近生成的ID。它不会被其他客户端更改。即使使用非魔术值(即非NULL和非0的值)更新另一个AUTO_INCREMENT列,也不会改变它。在多个客户端同时使用LAST_INSERT_ID()和AUTO_INCREMENT列是完全有效的。每个客户端都将收到客户端执行的最后一条语句的最后插入的ID。

查看详细信息:https://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

如果您正在使用mysqli,您可以使用mysqli_insert_id:

return $conn->insert_id;

如果您正在使用PDO,您可以使用lastInsertId:

return $conn->lastInsertId();