Тема: Нужна помощь!

Есть БД с одной таблицей. В ней 6 полей. Нужно из электронной таблицы, перенести данные только во второе и третье поле. Остальные оставить пустыми. В эл. таблице - 6 полей, нужные данные находятся во 2-ом и 6-ом столбцах.
Попробовал преобразовать екселевский файл в CSV и импортировать в БД - получилось, но данные заполнились хаотично, совсем не так как надо.
Подскажите пожалуйста как сделать, так как с phpmyadmin'ом сталкиваюсь практически впервые.

2

Re: Нужна помощь!

В MySQL и в CSV файле строки должны иметь поле ключа, это поле идентичное для обеих таблиц. Если такое поле есть, то CSV файл импортируется в отдельную таблицу, после чего данные таблицы обновляются по ключу.

UPDATE `table_1`, `table_csv` SET
`table_1`.`field_2` = `table_csv`.`field_2`,
`table_1`.`field_6` = `table_csv`.`field_6`
WHERE `table_1`.`field_key` = `table_csv`.`field_key`;

3

Re: Нужна помощь!

А если сразу заполнять таблицу table_1(так как она пустая) из CSV через LOAD DATA INFILE? Можно так сделать?

4

Re: Нужна помощь!

musiherman сказал:

А если сразу заполнять таблицу table_1(так как она пустая) из CSV через LOAD DATA INFILE? Можно так сделать?

Можно, но количество полей в таблице и в csv файле должно быть идентично. Чтобы указать какому полю в таблице принадлежит какое поле csv файла, имена полей можно прописать в соответствующем поле ввода при импорте.

5

Re: Нужна помощь!

Спасибо, буду пробовать.