Импорт CSV в MySQL
Я создал базу данных и таблицу. Я также создал все поля, которые мне понадобятся. Я создал 46 полей, включая один, который является моим идентификатором для строки. CSV не содержит поля идентификатора и не содержит заголовков столбцов. Я новичок во всем этом, но пытаюсь понять это. Я здесь не ленив, прося ответа, но ища указания.
Я пытаюсь понять, как импортировать CSV, но начать импорт данных, начиная со второго поля, так как я надеюсь, что auto_increment заполнит поле ID, которое является первым созданным мной полем.
Я пробовал эти инструкции без везения. Может ли кто-нибудь дать представление?
- Имена столбцов вашего CSV файла должны соответствовать названиям вашей таблицы
- Найдите нужный файл .csv
- Выберите CSV, используя опции LOAD DATA
- Флажок 'ON' для замены данных таблицы файлом
- В поле, оканчивающемся полем, введите
,
- В полях, заключенных в поле,
"
- В поле, выведенное из окна,
\
- В строках, завершенных ящиком,
auto
- В поле "Имена столбцов" введите имя столбца, разделенное на
,
как column1,column2,column3
- Установите флажок Вкл. для использования ключевого слова LOCAL.
Edit:
Файл CSV - 32.4kb
Первая строка моего CSV:
Test Advertiser,23906032166,119938,287898,,585639051,287898 - Engager - 300x250,88793551,Running,295046551,301624551,2/1/2010,8/2/2010,Active,,Guaranteed,Publisher test,Maintainer test,example-site.com,,All,All,,Interest: Dental; custom geo zones: City,300x250,-,CPM,$37.49 ,"4,415","3,246",3,0,$165.52 ,$121.69 ,"2,895",805,0,0,$30.18 ,$37.49 ,0,$0.00 ,IMPRESSIONBASED,NA,USD
Ответы
Ответ 1
У вас могут быть установлены значения MySQL для определенных столбцов во время импорта. Если для поля id
установлено значение auto increment, вы можете установить его значение null во время импорта, и MySQL затем назначит ему дополнительные значения. Попробуйте поместить что-то подобное на вкладке SQL в phpMyAdmin:
LOAD DATA INFILE 'path/to/file.csv' INTO TABLE your_table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' SET id=null;
Ответ 2
Пожалуйста, посмотрите эту страницу и посмотрите, есть ли у вас то, что вы ищете. Должно быть все, что вам нужно, так как вы имеете дело только с одной таблицей. MYSQL LOAD DATA INFILE
Итак, например, вы можете сделать что-то вроде этого:
LOAD DATA INFILE 'filepath' INTO TABLE 'tablename' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (column2, column3, column4);
Это должно дать вам представление. Конечно, есть дополнительные опции, которые можно добавить, как показано в приведенной выше ссылке.
Ответ 3
Обязательно используйте LOAD DATA LOCAL INFILE, если файл импорта является локальным.:)