Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
~Загрузка файлов на сервер~ (mia2000) 14/02/2002 - 10:40:38
      Re: ~Загрузка файлов на сервер~ (rxl) 15/02/2002 - 19:40:32
      Re: дополнение к сказаному (rxl) 15/02/2002 - 20:16:29

> Original message text:
> From: mia2000 - 14/02/2002 - 10:40:38
> Subject:~Загрузка файлов на сервер~
> -----------------
> Хочу спросить совета по загрузки фаила, все проходит нормально но когда добавляю следующую столбец в базу и вставляю файл то происходит смещение строк 2 файла ровно на то количество строк из первого файла в предыдущем столбце.
> P.S. Чувствую что какоето значение постоянно увеличивается, а какое не понятно.
> P.S.S. Для наглядности приведу псевдо графику:
>
> |----------------------|
> | 1 | 2 |
> |----------------------|
> | mama | |
> |----------|-----------|
> | papa | |
> |----------|-----------|
> | | moscow |
> |----------|-----------|
> | | lenin |
> |----------|-----------|
>
> Вот так, вставляю во второй столбенц значения, а они опускаются и так дальше, каждый столбец все ниже, как сделать чтобы значения каждого нового столбца начинались с первой строки. Спасибо.
>


From: rxl - 15/02/2002 - 20:16:29
Subject:дополнение к сказаному
-----------------
Немного поторопился я - есть еще чего сказать...

К ранее сказанному, по части LOAD DATA и INSERT: если строки не конфликтуют (см. выше сказаное), то создается новая строка. Что и наблюдается в вашем примере.

По части советов, если только я понял задачу правильно: "есть три файла в которых данные в первой строке первого файла соответсвуют данным первой строки второго файла и первой строке третьего файла; вторая строка первого файла соотв. второй строке второго файла и т.д.".
Можно создать три временные таблицы имеющие одно одинаковое поле AUTO_INCREMENT, вставить в них данные из трех файлов, а затем слить их в одну таблицу. Пример выполнения:

# создаем три временные таблицы
CREATE TEMPORARY TABLE t1 (
id int AUTO_INCREMENT PRIMARY KEY,
data1 VARCHAR(255)
);
CREATE TEMPORARY TABLE t2 (
id int AUTO_INCREMENT PRIMARY KEY,
data2 VARCHAR(255)
);
CREATE TEMPORARY TABLE t3 (
id int AUTO_INCREMENT PRIMARY KEY,
data3 VARCHAR(255)
);

# закачиваем в них данные из файлов
LOAD DATA LOCAL INFILE file1 INTO TABLE t1
FIELDS TERMINATED BY '' ENCLOSED BY '' ESCAPED BY '\\'
LINES TERMINATED BY '\\n' (data1);
LOAD DATA LOCAL INFILE file2 INTO TABLE t2
FIELDS TERMINATED BY '' ENCLOSED BY '' ESCAPED BY '\\'
LINES TERMINATED BY '\\n' (data2);
LOAD DATA LOCAL INFILE file3 INTO TABLE t3
FIELDS TERMINATED BY '' ENCLOSED BY '' ESCAPED BY '\\'
LINES TERMINATED BY '\\n' (data3);

# создаем конечную таблицу и объединяем данные
CREATE TABLE table (
col1 VARCHAR(255),
col2 VARCHAR(255),
col3 VARCHAR(255)
) SELECT data1,data2,data3 FROM t1
LEFT JOIN t2 ON t1.id=t2.id
LEFT JOIN t3 ON t1.id=t3.id;

# временные таблицы можно удалить
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;

Надеюсь, совет был необходим...




[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
1885



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |