у меня проблемы с загрузкой CSV-файла в MySQL - PullRequest
0 голосов
/ 17 мая 2019

В основном я хочу загрузить CSV-файл в две таблицы mysql, в которых есть только определенные поля в одной таблице и некоторые другие поля в другой таблице.

это определения таблиц - https://imgur.com/c7Scdkm, и этофайл, который я пытаюсь загрузить - http://s000.tinyupload.com/index.php?file_id=19140190054505912011

Когда я запускаю эту команду =

load data infile "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/careerbuilder_dataanalytics.csv" into table dataanalyst_ncr FIELDS TERMINATED BY ',' IGNORE 1 ROWS(@col1,@col2,@col3,@col4) set Job_title=@col3,Company_name=@col1,links=@col4,job_desc=@col2;

Она показывает эту ошибку -

Error Code: 1262. Row 1 was truncated; it contained more data than there were input columns

Я хочу загрузитькаждый столбец файла для конкретного столбца в таблицах

1 Ответ

0 голосов
/ 17 мая 2019

у вас есть пустая строка в CSV после заголовка - перед данными (удалите его). вам нужно сформировать два оператора для загрузки данных в две таблицы Чтобы загрузить данные, вы должны запустить MySQL с

mysql -u root -p --local-infile=1

Код Foll работает

load data local infile '/home/infiniti/Downloads/careerbuilder_dataanalytics.csv' into table dataanalyst_ncr
fields terminated by ','
lines terminated by '\n'
ignore 1 lines
(@col1, @col2, @col3, @col4, @col5, @col6)
set 
job_title = @col3, company_name = @col1, job_desc = @col2, job_id = 0, links=@col4
mysql> create table dataanalyst_ncr ( job_title text, company_name text, links text, job_desc text, job_id int primary key auto_increment, last_updated_on timestamp) ;
Query OK, 0 rows affected (0.58 sec)


mysql> desc dataanalyst_ncr;
+-----------------+-----------+------+-----+---------+----------------+
| Field           | Type      | Null | Key | Default | Extra          |
+-----------------+-----------+------+-----+---------+----------------+
| job_title       | text      | YES  |     | NULL    |                |
| company_name    | text      | YES  |     | NULL    |                |
| links           | text      | YES  |     | NULL    |                |
| job_desc        | text      | YES  |     | NULL    |                |
| job_id          | int(11)   | NO   | PRI | NULL    | auto_increment |
| last_updated_on | timestamp | YES  |     | NULL    |                |
+-----------------+-----------+------+-----+---------+----------------+
6 rows in set (0.06 sec)

mysql> load data local infile '/home/infiniti/Downloads/careerbuilder_dataanalytics.csv' into table dataanalyst_ncr
    -> fields terminated by ','
    -> lines terminated by '\n'
    -> ignore 1 lines
    -> (@col1, @col2, @col3, @col4, @col5, @col6)
    -> set 
    -> job_title = @col3, company_name = @col1, job_desc = @col2, job_id = 0, links=@col4;
Query OK, 1 row affected (0.14 sec)
Records: 1  Deleted: 0  Skipped: 0  Warnings: 0

mysql> select * from dataanalyst_ncr;
+-----------------------------------+------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+--------+-----------------+
| job_title                         | company_name     | links                                                       | job_desc                                                                                                                                               | job_id | last_updated_on |
+-----------------------------------+------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+--------+-----------------+
| Manager  Field Operations - India | Hilton Corporate | /jdp/manager -field-operations----india-j3r1tw77rcl1lzd7wxb | A national Procurement Manager  Field Operations  India will assist in the planning  organization  direction  and control of the purchasing and sup... |      1 | NULL            |
+-----------------------------------+------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------+--------+-----------------+
1 row in set (0.00 sec)

mysql> 
mysql> 

...