lixx: LOAD DATA in zwei Tabellen

Beitrag lesen

Hallo!

Kann mir jemand einen Tipp geben wie ich eine CSV-Datei mit LOAD DATA in zwei Tabellen laden kann?

Der Sinn darin ist, ich möchte Adressen per CSV-Datei importieren. In der Eingabemaske kann man die Felder zuordnen, Zeilen überspringen ... und alle Adressen gleich einer Gruppe zuweisen. Die Verknüpfung zu den Gruppen erfolgt durch die m:n-Tabelle Adressen_Gruppen.

Weitere Detail (kann man sich auch sparen): Zuerst wird die hochgeladene Datei eingelesen und zu einer neuen CSV-Datei, nach den zuvor gemachten Einstellungen, zusammengestellt. Hier werden auch gleich ein paar Prüfungen vorgenommen. Die neu erstellte Datei soll dann per LOAD DATA eingelesen werden.

Angenommen ich habe folgende CSV-Datei:

Vorname;Nachname;Gruppe
Douglas;Adams;1,2,3,4
Jasper;Fforde;2,3

Wie bekomme ich die Gruppenzuteilung in die Adressen_Gruppen-Tabelle? (Die Gruppen-Spalte kann auch anderst formatiert sein)

Vielleicht geht es ja mit einer Variable, aber weiter bin ich dabei nicht gekommen.

LOAD DATA LOCAL
INFILE 'data.csv'
INTO TABLE Adressen, Adressen_Gruppen
FIELDS
  TERMINATED BY ';'
  ENCLOSED BY ''
  LINES TERMINATED BY '\n'
  ( Adressen.Vorname, Adressen.Nachname, @Gruppen_id )
SET Adressen_Gruppen.Adressen_id = @Gruppen_id ... ??? ;

Ein kleiner Denkanstoß wäre schon fein.

lg lixx