jannik2018
Goto Top

MySQL CSV Import

Hallo Zusammen,

hat jemand von euch eine Iddee wie ich verhindern kann das bei mehrfachen ausführen des imports doppelte einträge erstellt werden


Import Script

load data local infile '/home/a223/public_html/cdsc/csvtest4.csv'
into table cwd_user
fields terminated by ','
optionally enclosed by '"'
escaped by '"'
lines terminated by '\n'
(user_name, first_name, last_name, email_address);

Content-ID: 634210

Url: https://administrator.de/contentid/634210

Printed on: October 5, 2024 at 02:10 o'clock

akretschmer
akretschmer Dec 21, 2020 at 18:40:00 (UTC)
Goto Top
einfach - es nur einmal machen.
manuel-r
manuel-r Dec 21, 2020 at 19:28:42 (UTC)
Goto Top
Hallo

wie ich verhindern kann das bei mehrfachen ausführen des imports doppelte einträge erstellt werden

Du könntest einen Trigger auf Before Insert legen und darin aus den Nutzdaten einen Hash generieren. Diesen Hash schreibst du in eine Spalte die unique ist. Wenn bei einem erneuten Import dann ein Insert gemacht werden soll der die gleichen Daten und damit auch einen schon vorhandenen Hashwert hat wird der Import bzw. das Insert mit einer Fehlermeldung abgebrochen für diese Zeile.
Eventuell kannst du es auch ohne den Hash und den Trigger machen, da eMail-Adressen eigentlich ja auch nur einmal existieren. Zumindest wenn es keine zwei User mit der gleichen Adresse gibt. Dann setzt du einfach die Spalte email_address auf unique.

Manuel