MySql Datenbank Update über CSV

werner_sg

Erfahrenes Mitglied
suche für ein simples Problem eine schnelle Lösung da ich nirgendswo das passende gefunden habe am liebsten direkt über phpMyAdmin

Also ich habe eine Datenbank mit Artikeln

Die Artikel Nummer steht im Feld: REFERENCE und die Menge im Feld: STOCKVOLUME

in der CSV sind das die beiden Felder: ArtikelNummer und Menge

wie kann ich nun die Menge zu den einzelnen Artikeln aktualisieren

würde mich freuen wenn mir da wer weiterhelfen könnte, Danke
 

Zvoni

Erfahrenes Mitglied
importier die CSV in eine temporäre Tabelle.
Dann vielleicht sowas (Aircode):
SQL:
UPDATE T1
Set T1.Stockvolume=T2.Menge
FROM Tabelle T1
INNER JOIN
MyCSV T2
ON
T1.REFERENCE=T2.ArtikelNummer
 

Zvoni

Erfahrenes Mitglied
Das einzige was mir dazu einfallen würde, wäre die CSV als linked Table zu definieren mit designiertem Ziel(-Ordner).
Problem: CSV müsste dann in MySQL mit dem ISAM-Treiber laufen, glaube ich zumindest. Und ISAM ist auf MySQL "unspassig" (wenn überhaupt als DB-Engine aktiviert).
Problem2: Wenn ich mich recht erinner, erlaubt MySQL aber nur "echte" MySQL-Tabellen als "federated" Table
Ergo: An oben genanntem manuellem Szenario kommst du zu 99,9999% nicht vorbei.

EDIT: Was mir noch eingefallen ist für MySQL wäre vielleicht ein "scheduled" event".
Müsste mich aber dazu einlesen, ob das überhaupt auf dein Szenario anwendbar ist
Ungeprüftes Szenario:
Ordner designieren (Bsp. "CSV-Upload")
scheduled event erstellen
a) Prüfe ob es eine Datei in genanntem Ordner gibt
b) falls ja, importiere die CSV in eine temp-table
c) führe oben genannte SQL-Procedure aus
d) lösche temp-table
e) lösche Datei