Heim >Datenbank >MySQL-Tutorial >Wie kann ich die zuletzt eingefügte Zeilen-ID in MySQL für Zuordnungen mit mehreren Tabellen zuverlässig abrufen?

Wie kann ich die zuletzt eingefügte Zeilen-ID in MySQL für Zuordnungen mit mehreren Tabellen zuverlässig abrufen?

Susan Sarandon
Susan SarandonOriginal
2024-12-17 04:29:25828Durchsuche

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

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn