基本上我想将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
我想将文件的每一列加载到表中的特定列
答案 0 :(得分:0)
u标头后-数据前(删除)在CSV中有一个空行。 您必须形成两个语句才能将数据加载到两个表中 要加载数据,您必须使用以下命令启动mysql
mysql -u root -p --local-infile=1
文字代码有效
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>