Beim Einfügen einer neuen Zeile in eine MySQL-Tabelle ist es häufig erforderlich, die neu eingefügten Werte zur weiteren Verarbeitung abzurufen oder Referenzierung. So fügen Sie eine Zeile ein und erfassen gleichzeitig deren Inhalt in einer einzigen Abfrage.
Die bereitgestellte Abfrage:
INSERT INTO `items` (`item`, `number`, `state`) (SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3')
fügt eine Zeile in die Tabelle „items“ ein und wählt Daten aus der Tabelle „item_bug“ mit aus id gleich 3. Diese Abfrage bietet jedoch keine Möglichkeit, den neu eingefügten Datensatz abzurufen.
Um sowohl das Einfügen als auch das Abrufen in einer einzigen Abfrage zu erreichen, können Sie die Funktion LAST_INSERT_ID() verwenden. Diese Funktion gibt die ID der zuletzt eingefügten Zeile zurück. Durch die Kombination mit einer zusätzlichen Abfrage können Sie die Details des eingefügten Datensatzes erhalten.
Hier ist die geänderte Abfrage:
INSERT INTO `items` (`item`, `number`, `state`) (SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3'); SELECT * FROM `items` WHERE `id` = LAST_INSERT_ID();
Diese Abfrage fügt zuerst die Zeile in die Artikeltabelle ein. Anschließend wird die SELECT-Abfrage ausgeführt, die alle Spalten aus der Artikeltabelle für die Zeile abruft, deren ID der zuletzt eingefügten ID entspricht.
Das obige ist der detaillierte Inhalt vonWie rufe ich eingefügte Zeilenwerte in einer einzelnen MySQL-Abfrage ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!