Heim >Datenbank >MySQL-Tutorial >Wie können Sie in einer einzelnen MySQL-Abfrage Zeilen einfügen und Daten abrufen?

Wie können Sie in einer einzelnen MySQL-Abfrage Zeilen einfügen und Daten abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-25 04:51:29727Durchsuche

How Can You Insert Rows and Retrieve Data in a Single MySQL Query?

Zeilen einfügen und neue Daten in MySQL abrufen

Viele Aufgaben erfordern das Hinzufügen neuer Datensätze zu einer Datenbank und den anschließenden Zugriff darauf. Traditionell umfasst dies getrennte Einfüge- und Abrufvorgänge. Aber wussten Sie, dass es möglich ist, beide Aufgaben in einer einzigen Abfrage zu erledigen?

Werte atomar einfügen und auswählen

Der Schlüssel liegt in der Verwendung der Funktion LAST_INSERT_ID(). Nach der Ausführung einer Einfügeanweisung gibt diese Funktion die für die neu eingefügte Zeile generierte ID zurück.

Beispiel:

Betrachten wir das in der Frage bereitgestellte Beispiel:

<code class="sql">INSERT INTO `items` (`item`, `number`, `state`) 
(SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3')</code>

Um die ID der eingefügten Zeile zu erhalten und ihre anderen Werte abzurufen, können Sie die folgende Abfrage ausführen:

<code class="sql">SELECT * FROM `items` WHERE `id`= LAST_INSERT_ID()</code>

Diese Abfrage ruft die gesamte Zeile aus der entsprechenden Artikeltabelle ab die zuletzt eingefügte Zeile.

Vorteile:

  • Einzelne Abfrage für beide Aufgaben:Verbessert die Leistung und reduziert die Codekomplexität.
  • Atomarer Vorgang: Die beiden Schritte erfolgen in einer einzigen Transaktion und gewährleisten so die Datenintegrität.
  • Vereinfacht den Datenabruf: Entwickler müssen sich keine Gedanken über das Auswendiglernen machen oder Zeilen-IDs außerhalb des Abfragekontexts verwalten.

Das obige ist der detaillierte Inhalt vonWie können Sie in einer einzelnen MySQL-Abfrage Zeilen einfügen und Daten 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