Я пытаюсь загрузить данные из csv в mySQL.Столбцы расположены не в правильном порядке, а некоторые пропущены.Даты также имеют неправильный формат
Данные выглядят следующим образом:
Дата, открытие, максимум, минимум, закрытие, настройка закрытия, том 4/3 / 2006,10.01,10.01, 10.01,10.01,7.236886,0 4/4 / 2006,10.07,10.07,10.07,10.07,7.280261,0
Мой код выглядит следующим образом:
$query = <<<eof
LOAD DATA INFILE '$filename'
INTO TABLE `$table`
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(@date_str, @open, @high, @low, @close, @adjclose, @volume)
SET `date` = STR_TO_DATE(@date_str, '%c/%e/%Y'),
SET symbol = $symbol,
SET nav = @close;
eof;
Я получаю следующую ошибку:
Ошибка Sql: ЗАГРУЗИТЬ ИНФИЛЬ ДАННЫХ 'D: /Website/finance/csv/ABNDX.csv' INTO TABLE mutual_fund_history
ЗАКЛЮЧЕНО ПОЛЯМИ ',' ПРЕКРАЩЕНЫ ЛИНИИBY '' IGNORE 1 LINES (@date_str, @open, @high, @low, @close, @adjclose, @volume) SET date
= STR_TO_DATE (@date_str, '% c /% e /% Y'),Символ SET = ABNDX, SET nav = @close;Ошибка Sql #: 1064 - у вас есть ошибка в вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с 'SET symbol = ABNDX, SET nav = @close' в строке 8…
Я запутался.Спасибо за вашу помощь.
Обновление: я пытался поместить одинарные кавычки вокруг символа $, так как это строка, но все равно получаю ошибку.
Обратите внимание, я следовал этот пост , чтобы вести меня.