Heim >Datenbank >MySQL-Tutorial >## Wie rufe ich eingefügte Daten in derselben MySQL-Abfrage ab?
Inhalte nach dem MySQL-Einfügen abrufen
Das Einfügen von Zeilen in eine MySQL-Tabelle ist unkompliziert. Das Abrufen der in derselben Abfrage eingefügten Werte kann jedoch eine Herausforderung sein. Diese Frage untersucht die Möglichkeit, beide Aufgaben in einer einzigen Abfrage zu erledigen.
Die Frage stellt ein Szenario dar, in dem eine Zeile aus der Tabelle „item_bug“ in die Tabelle „items“ eingefügt werden muss und die eingefügten Daten einschließlich der ID, muss abgerufen werden. Die vorgeschlagene Lösung besteht darin, die Zeile mit einer INSERT-Anweisung einzufügen und sie dann mit einer nachfolgenden SELECT-Anweisung abzurufen.
Die Frage sucht jedoch nach einer effizienteren Lösung, indem beide Aufgaben in einer einzigen Abfrage ausgeführt werden. Um dies zu erreichen, schlägt die Antwort die Verwendung der Funktion „LAST_INSERT_ID()“ vor. Diese Funktion gibt die ID der letzten in die Tabelle eingefügten Zeile zurück. Durch die Kombination der Anweisungen insert und select wird es möglich, die eingefügten Daten abzurufen, ohne dass eine separate Abfrage erforderlich ist.
Die vorgeschlagene Abfrage würde wie folgt aussehen:
INSERT INTO `items` (`item`, `number`, `state`) (SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3'); SELECT * FROM `items` WHERE `id`= LAST_INSERT_ID();
Durch Ausführen dieser Abfrage Die Zeile aus „item_bug“ wird in „items“ eingefügt und die eingefügten Daten, einschließlich der ID, werden sofort abgerufen und als Ergebnis der Abfrage zurückgegeben. Diese Lösung macht eine separate Abfrage zum Abrufen der eingefügten Daten überflüssig, was den Ansatz effizienter und eleganter macht.
Das obige ist der detaillierte Inhalt von## Wie rufe ich eingefügte Daten in derselben MySQL-Abfrage ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!