Load Data Local Infile mit Hash und Datum mit Set
Ich bin am Ende. Ich habe dies zu Tode recherchiert und kann es nicht lösen. Ich habe die folgende PHP-Anweisung:
$sqlstatement="LOAD DATA LOCAL INFILE '$temp' INTO TABLE contacts FIELDS
TERMINATED BY ','
LINES TERMINATED BY '\r'
IGNORE 1 LINES
(@ignore, @ID, @Name, @Email, @Type, @Hash, @Time)
SET Date_Update=date('Y-m-d')
";
Meine CSV-Datei enthält die folgende Kopfzeile: ID, Benutzername, Benutzer-E-Mail, Typ.
ID User Name User Email Type
12345 Jackson, F [email protected] Level 1
67890 Stewart, J [email protected] Level 1
43210 Fuller, T [email protected] Level 2
62295 Lewis, M [email protected] Level 2
Die CSV-Datei enthält auch zusätzliche Felder, die ich nicht importieren muss. Ich hatte gehofft, auswählen zu können, welche Felder importiert werden sollen. Ich bin mir der Technik nicht sicher.
Meine MYSQL-Tabelle enthält die folgenden Felder: Tag (automatisches Inkrementieren), ID, Name, E-Mail, Typ, Hash, Date_Update, Time_Update.
Ich kann anscheinend nicht herausfinden, wie die SET-Funktion in diesem Befehl verwendet wird. Ich habe @ignore so eingestellt, dass das Tag (Auto-Inkrement-Feld) übersprungen wird.
Wie bekomme ich das CSV-Feld "Benutzername" in das MYSQL-Feld "Name"?Wie erstelle ich das heutige Datum für das MYQL-Feld "Date_Update"? Ich habe SET Date_Update = date ('Y-m-d') ausprobiert, aber es wird leer angezeigt.Wie erstelle ich einen Hash aus dem CSV-Feld "ID"? Ich habe versucht, Hash = Hash ('sha384', $ pre. @ ID. $ Suf)Ich bin ratlos. Jede Hilfe wäre dankbar.