Zuletzt eingefügte Zeile abrufen, um sie mit einer anderen Tabelle zu verknüpfen
Beim Einfügen von Daten in mehrere Tabellen ist es häufig erforderlich, den eingefügten Datensatz einem anderen zuzuordnen Tabelle mithilfe ihrer ID. In solchen Fällen ist das Abrufen der ID der zuletzt eingefügten Zeile von entscheidender Bedeutung. Die direkte Verwendung von $mysqli->insert_id kann jedoch zu falschen Ergebnissen führen.
Lösung:
Um die zuletzt eingefügte ID korrekt abzurufen, müssen Sie mysqli_insert_id verwenden ()-Funktion. Diese Funktion stellt die ID der letzten Zeile bereit, die in die aktuelle Datenbankverbindung eingefügt wurde. Der korrigierte Code unten demonstriert seine Verwendung:
<br>$stmt = $mysqli->prepare("<br> INSERT INTO table1 (username, firstname, lastname, image) <br> SELECT ?,?,?,image FROM table2 t2 WHERE username = ?<br>");<br>$stmt->bind_param('ssss', $username, $fname, $lname, $username);<br>$stmt->execute();</p> <p>$last_id = mysqli_insert_id($conn); // Die zuletzt eingefügte ID abrufen</p> <p>// Die Bildspalte in Tabelle1 mit der abgerufenen ID aktualisieren<br>$stmt2 = $mysqli->prepare("<br> UPDATE table1 SET image = ? WHERE id = ?<br>");<br>$stmt2->bind_param('si', $image, $last_id);<br>$stmt2->execute();<br>
Hinweis: Stellen Sie sicher, dass Ihr ID-Feld in Tabelle2 das Attribut AUTO_INCREMENT hat um eindeutige ID-Werte für jede eingefügte Zeile zu generieren.
Das obige ist der detaillierte Inhalt vonWie kann ich die zuletzt eingefügte Zeilen-ID in MySQL für Zuordnungen mit mehreren Tabellen zuverlässig abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!