Abrufen der letzten Einfügungs-ID für Fremdschlüsselbeziehungen
In relationalen Datenbanken ist es üblich, Fremdschlüsselbeziehungen zwischen Tabellen einzurichten. Wenn Sie eine neue Zeile in eine untergeordnete Tabelle einfügen, müssen Sie diese möglicherweise mit einer Zeile in einer übergeordneten Tabelle verknüpfen. Um dies zu erreichen, müssen Sie normalerweise die zuletzt eingefügte ID aus der übergeordneten Tabelle abrufen und als Fremdschlüssel in der untergeordneten Tabelle verwenden.
Herausforderung:
Sie möchten ein Bild (aus Tabelle2) mit einem Benutzer (in Tabelle1) verknüpfen, indem Sie dessen Vornamen, Nachnamen und Benutzernamen verwenden. Wenn Sie jedoch versuchen, die zuletzt eingefügte ID aus Tabelle2 abzurufen und sie als Fremdschlüssel in Tabelle1 zu binden, funktioniert dies nicht.
Lösung:
An Um die zuletzt eingefügte ID erfolgreich abzurufen und zum Auffüllen eines Fremdschlüssels zu verwenden, müssen Sie die folgenden Schritte ausführen:
Hier ist eine aktualisierte Version Ihres Codes, die die Funktion mysqli_insert_id() enthält:
$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();
Indem Sie diese erstellen Wenn sich die Änderungen ändern, können Sie jetzt die zuletzt eingefügte ID aus Tabelle2 abrufen und sie als Fremdschlüssel verwenden, um die neue Zeile in Tabelle1 zu verknüpfen.
Das obige ist der detaillierte Inhalt vonWie rufe ich die zuletzt eingefügte ID für Fremdschlüsselbeziehungen in MySQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!