Заливка в БД csv

voland

Guest
Заливка в БД csv

Есть файл формата CSV, его нужно залить в БД, но когда я в PhpmyAdmin выбираю вставка текстового файла в БД, мне выдаетсья сообщение об ошибке, что такая команда не поддерживаеться текущей версией MySql

Поясните, что может быть не так...

З.Ы. Все поля соответствуют
Версия MySQL 3.23.55
Версия phpMyAdmin 2.3.3pl1
 

voland

Guest
Я не могу это сделать на хостинге....
Тогда сразу второй вопрос, правильно ли я сделал заливку другим образом? Я просто почти не работал с файлами и не уверен, чт все правильно... в смысле это работает, но может есть другие пути?

PHP:
$fp = fopen("name_fail.txt", r);
if (filesize("name_fail.txt")){
        $query = "DELETE FROM name_table";
        $clean = mysql_query($query);
        while($row = fgetcsv($fp,500,";")){
        $result = "Тут вставка в таблицу всех значений строки"
        $query = mysql_query($result) or die(mysql_error());
        }
 

Arthur

Good Member
Лучше делай файл с разделителем табуляция. Вдруг у тебя попадётся в ячейке ; ?
а вот табуляцию ты фиг в ексцеле вставишь.

А еще лучше написать письмо в суппорт, что бы они муську компилили по уму, а не лёвой пяткой на отъе...сь. Всё Ж...

т.к. первый способ с LOAD_DATA_LOCAL работает на порядок быстрее
 

voland

Guest
К сожалению использовать табуляцию не могу, так как файл генериться программно, и не Экзелем...
Я думаю сделать проверку на ";" так как другого выбора нет...

Спасибо за помощь и отклик на мой вопрос!
 

Larson

Новичок
Автор оригинала: Arthur
Лучше делай файл с разделителем табуляция. Вдруг у тебя попадётся в ячейке ; ?
Так вроде бы разделительные символы должны браться в кавычки, если они попадаются в ячейках. Тогда никаких проблем не будет - хоть в каждую суй.
 

Arthur

Good Member
Возможно, я , если , не проверял.
Просто были мысли в слух
 

voland

Guest
Вообще-то вроде поля беруться в кавычки, просто могут возникнуть проблемы... я ведь не знаю, что может быть в тексте, в тексте тоже возможны кавычки, поэтому проверку придеться делать ; и сверять длину поля с полем в БД
Вариантов других нет... вроде...
 
Сверху