具有自动 ID 检索功能的 MySQL 插入
将新行插入 MySQL 表时,通常需要检索新分配的 'id ' 价值。 “id”字段通常会自动递增,以确保每行的唯一性。但是,如果插入行和获取“id”之间存在延迟,则可能会引起问题。
缓解此问题的一种方法是利用 MySQL 的 INSERT ... SELECT 语句。此语句允许您从 SELECT 查询插入一行,在单个事务中获取“id”值。
$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db'); mysqli_query($link, "INSERT INTO mytable SELECT 1, 2, 3, 'blah' FROM DUAL"); $id = mysqli_insert_id($link);
在此示例中,INSERT ... SELECT 语句将一行插入 mytable使用指定的数据,而 mysqli_insert_id() 函数检索新插入行的“id”值。
另一种方法是使用 MySQL 的LAST_INSERT_ID() 函数。此函数返回当前连接的最后插入行的“id”值。但是,请务必注意,LAST_INSERT_ID() 值是特定于连接的,因此必须在执行 INSERT 操作的同一连接中使用它。
以上是如何在 MySQL 插入后检索自动生成的 ID?的详细内容。更多信息请关注PHP中文网其他相关文章!