Загрузка данных локального файла с хэшем и датой с использованием набора
Я в конце концов на этом. Я исследовал это до смерти и не могу решить. У меня есть следующий оператор PHP:
$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')
";
Мой CSV-файл содержит следующую строку заголовка: идентификатор, имя пользователя, адрес электронной почты пользователя, тип.
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
Файл CSV также имеет дополнительные поля, которые мне не нужно импортировать. Я надеялся, что смогу выбрать, какие поля импортировать. Не уверен в технике.
Моя таблица MYSQL имеет следующие поля: тег (автоинкремент), идентификатор, имя, адрес электронной почты, тип, хэш, Date_Update, Time_Update.
Я не могу понять, как использовать функцию SET в этой команде. Я установил @ignore, чтобы пропустить тег (поле автоинкремента).
Как получить поле «Имя пользователя» CSV в поле «Имя» MYSQL?Как сгенерировать сегодняшнюю дату для поля MYQL "Date_Update"? Я попытался SET Date_Update = date ('Y-m-d'), но он отображается пустым.Как сгенерировать хэш из поля «ID» CSV? Я пробовал Hash = Hash ('sha384', $ pre. @ ID. $ Suf)Я в недоумении. Любая помощь будет оценена.