2010-06-11 6 views
16

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

Я пытаюсь понять, как импортировать CSV, но приступить к импорту данных, начиная со второго поля, так как я надеюсь, что auto_increment заполнит поле ID, которое является первым полем, которое я создал.

Я пробовал эти инструкции без везения. Может ли кто-нибудь дать представление?

  1. Названия столбцов файла CSV должны соответствовать вашей таблицы
  2. Найдите ваше необходимый файл .csv
  3. Выбор CSV с помощью НАГРУЗКИ опции DATA
  4. Флажок «ON» для Заменить таблицу данные с файлом
  5. В полях завершается поле типа ,
  6. В F ields обнесено коробок, "
  7. В полях сбежавших от коробки, \
  8. В Линии оканчивающихся коробки, auto
  9. В имен столбцов поля типа имя столбца, разделенных , как column1,column2,column3
  10. Флажок вкл. Для Используйте ЛОКАЛЬНОЕ ключевое слово.

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 
+0

Вы пробовали использовать PHPMyAdmin? –

+2

@ Kerry: Он перечисляет инструкции phpMyAdmin, поэтому я бы сказал «да». –

+0

Спасибо за ответ, инструкции, которые я написал, это то, что я использовал в phpMyAdmin, но моя информация отбрасывается. Я где-то читал, что лучше всего это сделать, чтобы заголовки столбцов на csv отображали поля в моей таблице. это верно? – 404error

ответ

41

У вас могут быть установлены значения 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; 
16

Пожалуйста, смотрите на этой странице и посмотреть, если он имеет то, что вы находясь в поиске. Должно быть все, что вам нужно, так как вы имеете дело только с одной таблицей. MYSQL LOAD DATA INFILE

Так, например, вы могли бы сделать что-то вроде этого:

LOAD DATA INFILE 'filepath' INTO TABLE 'tablename' FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (column2, column3, column4); 

Это должно дать вам идею. Конечно, есть дополнительные опции, которые можно добавить, как показано в приведенной выше ссылке.

+0

Спасибо, я дам это и посмотрю, смогу ли я это понять. Очень ценится. – 404error

4

обязательно использовать LOAD DATA LOCAL INFILE, если файл импорта является локальным. :)

+0

Нет, если файл уже локальный. Использование LOCAL может привести к другим проблемам, например. «ERROR 1148 (42000): используемая команда не допускается с этой версией MySQL», что не обязательно означает, что версия MySQL несовместима [обсуждение об этом] (https://dev.mysql.com/doc/refman/5.0/en /loading-tables.html). Использование LOCAL может потребовать проверки дополнительных настроек, например. на клиентской и серверной стороне флага: локально-вторг. Для меня это все еще не сработало. – Katarzyna

Смежные вопросы