首頁 >資料庫 >mysql教程 >如何在MySQL中可靠地檢索多表關聯中最後插入的行ID?

如何在MySQL中可靠地檢索多表關聯中最後插入的行ID?

Susan Sarandon
Susan Sarandon原創
2024-12-17 04:29:25806瀏覽

How to Reliably Retrieve the Last Inserted Row ID in MySQL for Multi-Table Associations?

檢索最後插入的行以與其他表關聯

插入多個表時,通常需要將插入的記錄與另一個表關聯表使用其ID。在這種情況下,檢索最後插入的行的 ID 就變得至關重要。然而,直接使用 $mysqli->insert_id 可能會導致錯誤的結果。

解決方案:

要正確檢索最後插入的 ID,需要使用 mysqli_insert_id () 功能。此函數提供插入目前資料庫連接的最後一行的 ID。以下修正後的程式碼示範了其用法:

<br>$stmt = $mysqli->prepare("<br> INSERT INTO table1 (username,firstname,lastname,image)<br>從table2 t2 中選擇?,?,?,image FROM table2 t2 WHERE username = ?<br>");<br>$stmt->bind_param('ssss', $username, $fname, $lname, $username);<br>$stmt->execute();<p> $last_id = mysqli_insert_id($conn); // 檢索最後插入的ID</p><p>// 使用檢索到的ID 更新table1 中的image 欄<br>$stmt2 = $mysqli->prepare("<br> UPDATE table1 SET image = ? WHERE id = ?<br>" );<br>$stmt2->bind_param('si', $image, $last_id);<br>$stmt2->execute();<br></p>

注意:確保table2中的ID欄位有AUTO_INCRMENT 屬性為每個插入的行產生唯一的ID 值。

以上是如何在MySQL中可靠地檢索多表關聯中最後插入的行ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn