|
|
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
Добрый день , уважаемые Знатоки и Пользователи! Нужна помощь ,связанная с выполнением запроса на импорт данных из файла- LOAD DATA INFILE. CREATE TABLE IF NOT EXISTS `Antenna`.`Znachenie` ( `ID` INT NOT NULL AUTO_INCREMENT, `id_АФХ` INT NULL, `kod_amplitudi` INT NULL, `kod_fazi` INT NULL, `amplituda` FLOAT NULL, `faza` FLOAT NULL, PRIMARY KEY (`ID`), FOREIGN KEY (`id_АФХ`) REFERENCES `Antenna`.`AFX` (`ID`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB; Прошу не обращать особого внимания на атрибуты, интересует на данный момент только faza FLOAT и amplituda FLOAT Есть текстовые файлы 1.amp .........N.amp по 1024 значения в столбик и соответственно 1.faz ....... N.faz тоже по 1024 значения в столбик в каждом файле. Пробую загружать с помощью Load Data Infile ( синтаксисом запроса владею) но в итоге, файлы Амплитуды правильно загружаются по очереди в соответствующее поле и инкрементируются, а данные из файлов фаз загружаются как новые строки, т.е. прмерно вот так ID..............amplituda................faza 1 .... .........1111111.0123..........Пусто 1024................1123123.0123..........Пусто 1025...................Пусто...............21322.123123 2048...................Пусто...............12321.111111 Прошу вашей помощи, очень нужно разобраться с этой загвосткой, возможно считывать массивы из файлов и загружать с помощью INSERT? Жду любой помощи,спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 11:18:13 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
unutcon MephiПробую загружать с помощью Load Data Infile ( синтаксисом запроса владею)Показывайте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 11:20:26 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
unutcon Mephi, 1. Запросы вида insert - всегда добавляют новые записи. Если нужна не вставка, а обновление, то пользуют update или REPLACE. Можно ещё посмотреть в сторону ON DUPLICATE KEY ... 2. По вашей задаче, если не сильно "париться": залейте обе компоненты в отдельные и свои таблички из файлов, а потом добавьте из них запросами как надо и куда надо. Заодно можно будет проверять чего залилось, до добавления в рабочую версию... Как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 11:23:36 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
LOAD DATA INFILE 'Полный Путь' INTO TABLE znachenie LINES TERMINATED BY '\r\n' (amplituda) Путь получаю программно с помощью CFile(немного не по теме). Miksoft , прочитал все 8 страниц тем, в которых было упоминание этого запроса на форуме, пробовал разные ваши советы(коих было немало) в том числе и создания временной таблицы, но результат к сожалению такой же, могу сделать скрин как это выглядит в WorkBench. Надеюсь на ваши наводки и подсказки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 11:25:55 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
unutcon MephiЕсть текстовые файлы 1.amp .........N.amp по 1024 значения в столбикВ приложенном файле 2048. Нужно грузить все или только первые 1024? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 11:29:17 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
Arhat1092. По вашей задаче, если не сильно "париться": залейте обе компоненты в отдельные и свои таблички из файлов, а потом добавьте из них запросами как надо и куда надо. Заодно можно будет проверять чего залилось, до добавления в рабочую версию...+1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 11:29:41 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
Arhat109unutcon Mephi, 1. Запросы вида insert - всегда добавляют новые записи. Если нужна не вставка, а обновление, то пользуют update или REPLACE. Можно ещё посмотреть в сторону ON DUPLICATE KEY ... 2. По вашей задаче, если не сильно "париться": залейте обе компоненты в отдельные и свои таблички из файлов, а потом добавьте из них запросами как надо и куда надо. Заодно можно будет проверять чего залилось, до добавления в рабочую версию... Как-то так. Спасибо за наводку,Arhat. Сейчас постараюсь освоить предложенные варианты. Но все-таки файлов будет очень очень много, теоретически БД будет весить в районе 1ТБ. Есть ли какие-нибудь варианты работы именно с файлами, не разбирая на массивы текстовые файлы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 11:30:22 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
miksoftunutcon MephiЕсть текстовые файлы 1.amp .........N.amp по 1024 значения в столбикВ приложенном файле 2048. Нужно грузить все или только первые 1024? Пользователь указывает число файлов, соответственно с помощью цикла загружаются все значения амплитуды из N-го числа файлов.Действительно по 2048 строк в каждом файле , прошу прощения.Но если делать такой же цикл на файлы Фаз, то они ,соответственно, если мы загрузили N*2048 строк (амплитуда), фазы будут начинаться с N*2048+1 строки , как в небольшом примере в начале темы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 11:33:58 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
Чтобы внести ясность проблемы небольшой скрин из Workbench. Спасибо большое всем участвующим в топике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 11:39:28 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
unutcon MephiЕсть ли какие-нибудь варианты работы именно с файлами, не разбирая на массивы текстовые файлы?Так второй пункт у Arhat109 - именно об этом. Не надо ничего разбирать. 1) Грузите в промежуточную таблицу(-ы) файлы N.amp, N.faz. 2) Переливаете SQL-запросом данные из промежуточной таблиц(ы) в основную. 3) Зачищаете промежуточную таблиц и переходите к пункту 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 12:00:34 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
Miksoft, Arhat109, Я ценю вашу помощь. Я понял о чем вы говорите, и как писал выше, уже пытался это сделать. 1) Я могу загрузить в 2 разные промежуточные таблицы вида/ create table faza_temp(id INT AUTO_INCREMENT , faza FLOAT)/ и соответственно / create table amplituda_temp(id INT AUTO_INCREMENT, amplituda FLOAT)/. Это уже делал. 2) В Одну промежуточную таблицу загружаю фазу, в другую таблицу загружаю амплитуду. Теперь мне предстоит из промежуточных таблиц , с помощью запросов, перенести данные в главную таблицу. Скажите пожалуйста, с учетом что у меня по 2048 строк в каждом файле,каким образом это реализовать? Куча Update? Или что-то другое? Напишите если можно. 3) Очистить таблицу и сбросить автоинкремент во временной таблице смогу, но "и переходите к пункту 1." мне кажется, или это значит что файлы надо загружать попарно? 1.faz+1.amp , затем 2.faz+2.amp. Не хочу надоедать и раздражать, ночь занимался только этим, надеюсь на понимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 12:19:30 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
INSERT INTO `date_name `.`znachenie` (`faza`) SELECT `faza` FROM `date_name`.`faza_temp` ; Или с помощью подобной структуры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 12:23:29 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
unutcon Mephi, странно. Делали и? почему "не получилось"? Делаете 2 таблички, заливаете свои файлы в каждую из них, и, если записи по порядку соответствуют в обоих файлах друг другу, то заливаете их запросом insert - select джойня обе таблички промеж себя по иденту (порядку) записи в табличках. Собственно, Фсё. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 12:23:35 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
Miksoft, Arhat109 низкий Вам поклон. 14 часов просидел с этой проблемой без перерыва, с помощью ваших советов разобрался, еще раз большое Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 13:03:04 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
unutcon Mephi14 часов просидел с этой проблемой без перерываА надо было просто выспаться (это не сарказм, это серьезно). Задача-то нехитрая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 13:10:36 |
|
||
|
Load Data Infile.Необходима помощь с заполнением БД.
|
|||
|---|---|---|---|
|
#18+
unutcon MephiНо все-таки файлов будет очень очень много, теоретически БД будет весить в районе 1ТБ.Ну дык сделайте промежуточные таблицы temporary, можно ещё engine=memory для красоты прилепить. Да и в любом случае - когда-то вам ведь всё равно придётся их чистить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2014, 17:43:07 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38821175&tid=1833864]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
34ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 320ms |

| 0 / 0 |
