在我的mysql表中,我有一个id-column,它被设置为自动增量。
然后我像这样做查询:
插入表格(id,foo)值('','bar')
那么我如何安全地找出哪个id是通过这个插入生成的呢?
如果我只查询最后一个id,这可能是不安全的,因为在此期间可能发生了另一次插入,对吧?
发布于 2012-01-02 22:20:15
发布于 2013-04-09 08:55:06
如果您使用PHP来获取在INSERT语句之后返回的auto_incremented值,请尝试使用MySQLi insert_id
function。较早的mysql_insert_id()
版本在PHP中将被弃用。
下面是一个示例:
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("CREATE TABLE myCity LIKE City");
$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);
printf ("New Record has id %d.\n", $mysqli->insert_id);
/* drop table */
$mysqli->query("DROP TABLE myCity");
/* close connection */
$mysqli->close();
?>
发布于 2012-01-02 22:20:30
https://stackoverflow.com/questions/8701885
复制相似问题