Заливка в БД csv

  • Автор темы Автор темы voland
  • Дата начала Дата начала

voland

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

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

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

З.Ы. Все поля соответствуют
Версия MySQL 3.23.55
Версия phpMyAdmin 2.3.3pl1
 
Я не могу это сделать на хостинге....
Тогда сразу второй вопрос, правильно ли я сделал заливку другим образом? Я просто почти не работал с файлами и не уверен, чт все правильно... в смысле это работает, но может есть другие пути?

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());
        }
 
Лучше делай файл с разделителем табуляция. Вдруг у тебя попадётся в ячейке ; ?
а вот табуляцию ты фиг в ексцеле вставишь.

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

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

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