首页 >后端开发 >php教程 >如何检索MySQL中外键关系的最后插入的ID?

如何检索MySQL中外键关系的最后插入的ID?

Susan Sarandon
Susan Sarandon原创
2024-12-07 06:40:121008浏览

How Do I Retrieve the Last Inserted ID for Foreign Key Relationships in MySQL?

检索外键关系的最后插入ID

在关系数据库中,表之间建立外键关系是很常见的。当向子表中插入新行时,您可能需要将其与父表中的行关联起来。为此,您通常需要从父表中检索最后插入的 ID,并将其用作子表中的外键。

挑战:

您想要使用名字、姓氏和用户名将图像(来自表 2)与用户(在表 1 中)相关联。但是,当您尝试从 table2 中检索最后插入的 ID 并将其绑定为 table1 中的外键时,它不起作用。

解决方案:

到成功检索最后插入的 ID 并使用它来填充外键,您需要按照以下步骤操作:

  1. 确保 ID table2中的字段是自增字段。这将为每个插入的行自动生成一个唯一的 ID。
  2. 在 table2 中插入新行后使用 mysqli_insert_id() 函数。此函数返回数据库生成的最后一个自动增量 ID。

这是包含 mysqli_insert_id() 函数的代码的更新版本:

$image = mysqli_insert_id($mysqli); // Retrieve the last inserted ID from table2
$stmt = $mysqli->prepare("
  insert into table1 (username, firstname, lastname, image) 
  select ?,?,?,image from table2 t2 where username = ? and  t2.id = ? 
   ");
$stmt->bind_param('sssss', $username, $fname, $lname, $username, $image);
$stmt->execute();

通过制作这些更改后,您现在可以从 table2 中检索最后插入的 ID,并将其用作外键来链接 table1 中的新行。

以上是如何检索MySQL中外键关系的最后插入的ID?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn