MySQL – INSERT – Mehrere Datensätze mit einem Statement

Datenbanken

Mit einem INSERT-Statement kann in einer MySQL-Datenbank ein neuer Datensatz in einer Datenbanktabelle angelegt werden.

Für jeden einzelnen Datensatz ein neues INSERT-Statement zu schreiben und ist dann aber doch recht aufwendig. Außerdem muss jedes INSERT einzeln abgeschickt werden.

Es gibt allerdings eine einfache Methode viele Datensätze auf einmal mit nur einem INSERT-Statement in einer Tabelle anzulegen:

INSERT INTO table_test
  (SPALTE1,SPALTE2,SPALTE3)
VALUES
  ('1','2','3'),
  ('4','5','6'),
  ('7','8','9')

Natürlich können mit dieser Methode nicht nur drei, sondern beliebig viele Datensätze angelegt werden (natürlich ein wenig abhängig von der Performance der Datenbank und der Größe der einzelnen INSERTs).

Bei dieser Methode gilt das Alles-oder-Nichts-Verhalten. Falls in den einzelnen Datensätzen Fehler enthalten sind, wird keiner der Datensätze eingelesen. Ist also bei einem von drei Datensätzen ein Fehler enthalten, wird keiner der Datensätze eingefügt. Mit einzelnen Aufrufen, würden die zwei korrekten Datensätze in die Tabelle geschrieben und nur der dritte Datensatz nicht. Hier muss man sich entscheiden, welches Verhalten gewünscht ist.

Sascha

Sascha

Hauptberuflich "Technologietreiber für Onlinezeugs" in einem Großkonzern. Interessiert an Technik im Allgemeinen, je abgedrehter, umso besser. Neben Familie, Hund und Beruf hat er trotzdem noch Spaß daran Sachen aufzuschreiben, die einem tagsüber so begegnen (manchmal auch nachts ;)).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.