Как залить файл Excell в Mysql через консоль или по крону?
Есть файл эксель который находится в директории, есть скрипт импорта который умеет залить файл через веб-интерфейс браузера. Хочу разобраться как то же самое организовать через командную строку.
Это нужно для случая когда менеджер загружает файл в папку на сервер, а крон запускает скрипт в определенное время и происходить импорт.
Любой ЯП общего назначения и сам в БД записать может. Особенно если нужен не тупой экспорт, а обновление данных. Импорт CSV вряд ли удастся по логике INSERT IGNORE / ON DUPLICATE KEY UPDATE.
Более того - судя по вопросу, у ТС все это уже есть, нужно только посмотреть, что там в скрипте, и переделать его с веб-обработки на крон.
Любой ЯП общего назначения и сам в БД записать может.
Чукча не читатель, чукча писатель?
Импорт CSV вряд ли удастся
Да, LOAD DATA LOCAL INFILE
сделали просто так. Он нерабочий.
Подробностей ТС никаких не дал (что за данные в файле, структура таблицы в БД, куда надо залить данные), потому в моём ответе рекомендации общего характера. Если бы были подробности - ответ можно было бы написать более конкретный.
есть скрипт импорта который умеет залить файл через веб-интерфейс
Зачем ему изобретать что-то на "любом языке", особенно если в этом скрипте, как я предположил, а вы не удосужились прочитать, не банальная логика импорта, а обновление данных только при необходимости?
Зачем ему изобретать что-то на "любом языке", особенно если в этом скрипте, как я предположил, а вы не удосужились прочитать, не банальная логика импорта, а обновление данных только при необходимости?
Вот, что написано у ТС (выделено мной):
Есть файл эксель который находится в директории, есть скрипт импорта который умеет залить файл через веб-интерфейс браузера.
И вот это (выделено мной):
Это нужно для случая когда менеджер загружает файл в папку на сервер, а крон запускает скрипт в определенное время и происходить импорт.
AVKor, я умею не только читать, но и думать. Импорт - это не только добавление, но и обновление данных, и с Ёкселем второе более вероятно. Менеджер выгрузил себе табличку, поправил нужное и загнал ее обратно на сайт. Или магазин прислал обновленный прайс, вот его и нужно закинуть по крону. Никакой CSV тут никаким боком не поможет, да и не нужен, когда логика уже вся описана, можно ее просто взять и использовать, выкинув только ненужные проверки авторизации, например.
Ещё раз: учитесь читать. При чём тут поможет - не поможет? Если у ТС файл в формате CSV, то при чём тут какая-то помощь? Я, зная распространённую практику (сталкивался много раз) называть Excel-файлами не только файлы в формате XLSX и XLS, но и CSV, предложил два варианта решения, в зависимости от того, в каком формате файл: XLSX или CSV.
AVKor, то есть ваши фантазии о том, что вместо XLSX там CSV - это богатый опыт.
А мое предположение о том, что скрипт с этими данными делает не INSERT, а UPDATE - из пальца.
Ну-ну. Не буду стоять на пути непогрешимого. А то еще, чего доброго, читать научит. По-своему...
то есть ваши фантазии о том, что вместо XLSX там CSV - это богатый опыт.
Это не фантазии, а реальный опыт общения с вин-пользователями. Я много работаю с CSV-файлами, и у вин-пользователей называть их Excel-файлами - самая распространённая практика. Они их, как правило, и открывают в Ёкселе, поскольку при установке МС Офиса при жамканьи мышкой на этих файлах они там и открываются. Некоторые даже и не знают, что с ними можно работать иначе.
А мое предположение о том, что скрипт с этими данными делает не INSERT, а UPDATE - из пальца.