id
如果它由控制,我怎样才能获得刚刚为当前用户插入的内容AUTO_INCREMENT
?
(我需要 ID 用于其他用途)
注意:可以删除某些行,因此MAX(id)
不是一个选项。
前任:
插入第 2 行
插入第 3 行
删除第 3 行
插入第 4 行但MAX(id)
返回 3..
非常感谢你!
id
如果它由控制,我怎样才能获得刚刚为当前用户插入的内容AUTO_INCREMENT
?
(我需要 ID 用于其他用途)
注意:可以删除某些行,因此MAX(id)
不是一个选项。
前任:
插入第 2 行
插入第 3 行
删除第 3 行
插入第 4 行但MAX(id)
返回 3..
非常感谢你!
使用 PDO:
$db->lastInsertId(); // $db is the PDO object
使用 MySQLi OOP:
$db->insert_id; // $db is the MySQLi object
使用 MySQLi 程序:
mysqli_insert_id($db); // $db is the connection variable
如果您使用旧的 MySQL API,请切换。
尝试
选择@@identity
这应该返回标识列中的最后一个值
由于您的答案带有 PHP 标记,因此我将在该上下文中回答。如果您使用 PDO API,则可以使用PDO::lastInsertId。如果您使用的是 mysql 函数 API,则等效为mysqli_insert_id或mysql_insert_id。
编辑:忍者:P
使用 mysql_insert_id() 或 mysqli_insert_id()
你可以使用mysql_insert_id
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('mydb');
mysql_query("INSERT INTO mytable (product) values ('kossu')");
printf("Last inserted record has id %d\n", mysql_insert_id());
?>
编辑:
mysql_insert_id已弃用。现在它的mysqli_insert_id