MySQL在插入语句后获取主键

时间:2014-10-16 19:47:29

标签: php mysql database pdo mysqli

我需要使用以下insert语句,主键字段是自动增量。我需要在插入后返回新的主键值。最好使用一个语句来执行插入和返回主键值。

$query = $database->connection->prepare("INSERT INTO accounts (created, priviledge, password, token, idle) VALUE ('$created', '1', :password, '$token_encrypt', '$idle')");    
$query->bindParam(":password", $password_hash);    
$query->execute();

3 个答案:

答案 0 :(得分:2)

一旦您使用PDO,您需要使用

$database->connection->lastInsertId()

保证您从当前会话返回值。所以从评论中回答你的问题 - 你不可能从并发会话中得到错误的值。

答案 1 :(得分:0)

使用mysql_insert_id();获取上次查询中生成的ID。

它检索前一个查询(通常是INSERT)为AUTO_INCREMENT列生成的ID。

答案 2 :(得分:0)

假设您的主要字段名称为id,然后尝试此代码

SELECT max(id) FROM tableName

或试试这个

LAST_INSERT_ID();