Forum Webscript.Ru

Общие => Базы данных => Тема начата: a@mail.dux.ru от 29 Марта 2003, 03:48:33

Название: проблемы с LOAD DATA LOCAL INFILE
Отправлено: a@mail.dux.ru от 29 Марта 2003, 03:48:33
вот добавляю данные в таблицу из файла таким скриптом.

$zapr="LOAD DATA INFILE \'C:/www/plevel3.txt\'
INTO TABLE xxxx3
fields terminated
by \',\'
LINES TERMINATED BY \'\\;
\'
";

mysql_query($zapr);

содержимое plevel3.txt:
INSERT INTO xxxx3 VALUES (1, 0, 1, 1, \'Моя семья\', \'\', \'0\', 1);
INSERT INTO xxxx3 VALUES (2, 0, 1, 2, \'Я\', \'\', \'0\', 1);
INSERT INTO xxxx3 VALUES (3, 0, 1, 3, \'Услуги и цены\', \'\', \'0\', 1);

все хорошо, кроме одного -текстовые поля, заключенные в \' \' так и добавляются в кавычках
те в базе данных это выглядит вот так:

  1 0 1 1  \'Моя семья\'  \'\'  \'0\' 1
  2 0 1 2  \'Я\'  \'\'  \'0\' 1
  3 0 1 3  \'Услуги и цены\'  \'\'  \'0\' 1

Как мне избавиться от этих кавычек при добавлении?
Спасибо
Название: проблемы с LOAD DATA LOCAL INFILE
Отправлено: fidget от 29 Марта 2003, 11:52:53
ээ..
вообще-то судя по содержания вашего файла, вам LOAD DATA совсем не нужен :-)

всего лишь
mysql -uuser_name -ppassword database_name < C:/www/plevel3.txt

LOAD DATA используется, когда ваш текстовый файл содержит только данные, а не SQL комманды.
Название: проблемы с LOAD DATA LOCAL INFILE
Отправлено: a@mail.dux.ru от 29 Марта 2003, 14:01:29
fidget

спасибо, но я не понял синтаксис. Может подскажите на примере как писать?

Я хочу добавить данные, выложив их на сервер и запустив php скрипт.  Просто другого не умею. пхп май админ - не выйдет, очень большой объем данных надо добавлять.

шелл мне неведом (кстати, не подскажите, где взять програмку с кряком для шела. надо наверное учиться пользоваться)
Название: проблемы с LOAD DATA LOCAL INFILE
Отправлено: Stek от 29 Марта 2003, 14:30:09
Цитировать
a@mail.dux.ru:
шелл мне неведом (кстати, не подскажите, где взять програмку с кряком для шела. надо наверное учиться пользоваться)

Хитро сказанно :) ищи SecureCRT SSH клиент.
Название: проблемы с LOAD DATA LOCAL INFILE
Отправлено: a@mail.dux.ru от 30 Марта 2003, 18:02:14
Ну так чего, кто-нибудь что нибудь подскажет? Или вопрос у меня глупый? Может не так сформулирован?

Еще раз: у меня есть демп базы данных в текстовом файле . Большой.
Мне надо добавить эту базу данных на сервере провайдера.
Я могу закачать текстовый файл по ftp, но дальше как ее добавить минуя пхпМайАдмин?
Хочу это сделать чере php старницу, так как шелом пользоваться не умею.

Как быть, подскажите, плиз, что-нибудь умное :)
Название: проблемы с LOAD DATA LOCAL INFILE
Отправлено: Макс от 30 Марта 2003, 19:51:30
Цитировать
но дальше как ее добавить минуя пхпМайАдмин?

откуда взялось такое условие ? Если большой объем и в 30 сек не уложишся, разбей на 10 маленьких файлов и по очереди залей
Название: проблемы с LOAD DATA LOCAL INFILE
Отправлено: a@mail.dux.ru от 30 Марта 2003, 20:12:42
Макс

Ну, 5 000 записей утомительно разбивать, а вдруг чего-где-то забыл? или непопало? Их же так просто после загрузки не проверишь, а потом ищи вчерашний день

Вот мне тут советовали
mysql -uuser_name -ppassword database_name < C:/www/plevel3.txt
но я не понял к чему это относилься к пхп шелу или еще к чему, синтаксис мне непонятен
Название: проблемы с LOAD DATA LOCAL INFILE
Отправлено: Макс от 30 Марта 2003, 20:54:23
a@mail.dux.ru
Цитировать
Ну, 5 000 записей утомительно разбивать
а смекалка программисту зачем дана ?

Цитировать

mysql -uuser_name -ppassword database_name < C:/www/plevel3.txt
попробуй через exec() или похожие команды (если хостер позволяет)
Название: проблемы с LOAD DATA LOCAL INFILE
Отправлено: a@mail.dux.ru от 30 Марта 2003, 22:47:11
Макс

ну самому писать код для разбивки можно, но боюсь ошибиться, последствия при ошибке  можно заметить не сразу, а исправить и того сложнее

про exec()  чего-то ничего не нашел. искал тут:

http://www.mysql.com/doc/ru/index.html
Название: проблемы с LOAD DATA LOCAL INFILE
Отправлено: Макс от 30 Марта 2003, 23:12:08
я имел ввиду функцию php exec (http://php.net/exec)