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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage