?
Solved

Trouble with importing excel (csv) to MySQL

Posted on 2009-04-15
10
Medium Priority
?
412 Views
Last Modified: 2012-06-22
Hey. I am trying to import a file to my MySQL database. I have downloaded an excel-file and then corrected it, so it fits properly with my table, I would think (i am still pretty new to MySQL so I followed a couple guides). I saved the excel-file as a .csv and went to phpMyAdmin and chose "Import". But it gives me this error
"Invalid field count in CSV input on line 1."
I have no idea what is wrong. It looks pretty much right in my opinion
Please help me!
0
Comment
Question by:MisterHamper
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 4
10 Comments
 

Author Comment

by:MisterHamper
ID: 24146704
In the picture is my table. It has an id with autoincrement

And in the code snippet is the start of my excel.csv file. I also tried deleting the first line, and importing it, but the same error came up!
"id","food_name","gmwt_desc1","gmwt1","gmwt_desc2","gmwt2","calories","total_fat","saturated_fat","dietary_fiber","protein","cholesterol","sodium"
,"BUTTER,WITH SALT","1 cup",227,"1 tbsp","14,2",717,"81,11","51,37",0,"0,85",215,576
,"BUTTER,WHIPPED,WITH SALT","1 cup",151,"1 tbsp","9,4",717,"81,11","50,49",0,"0,85",219,827
,"BUTTER OIL,ANHYDROUS","1 cup",205,"1 tbsp","12,8",876,"99,48","61,92",0,"0,28",256,2
,"CHEESE,BLUE","1 oz","28,35","1 cubic inch","17,3",353,"28,74","18,67",0,"21,4",75,1395
,"CHEESE,BRICK","1 cup, diced",132,"1 cup, shredded",113,371,"29,68","18,76",0,"23,24",94,560
,"CHEESE,BRIE","1 cup, melted",240,"1 cup, sliced",144,334,"27,68","17,41",0,"20,75",100,629
,"CHEESE,CAMEMBERT","1 cup",246,"1 oz","28,35",300,"24,26","15,26",0,"19,8",72,842

Open in new window

Z-56.jpg
0
 
LVL 21

Expert Comment

by:K V
ID: 24148344
Its a not-null autoincrement field.
Try allowing null.
0
 

Author Comment

by:MisterHamper
ID: 24148486
Hey! I just tried changing id to null - but it just reverts back to "null: no" again right after.
It says this when I change id to null, but still it is still "null: no". It's strange
"Table foodcomp has been altered.
SQL query:
ALTER TABLE `foodcomp` CHANGE `id` `id` INT( 10 ) NULL AUTO_INCREMENT "
0
Get proactive database performance tuning online

At Percona’s web store you can order full Percona Database Performance Audit in minutes. Find out the health of your database, and how to improve it. Pay online with a credit card. Improve your database performance now!

 
LVL 21

Expert Comment

by:K V
ID: 24148489
Your number of fields are different in CSV and in your  table structure,
0
 
LVL 21

Expert Comment

by:K V
ID: 24148561
You're missing "carbohydrates" field  and that is causing problem as its not matching the number of columns in table.
0
 

Author Comment

by:MisterHamper
ID: 24148590
Ahh yes you was right! Good observation. I just removed "carbohydrates" from my table, so now they should look the same both of them.

But it still gave me this error: Invalid field count in CSV input on line 1.
I think it might have something to do with "id". Is "id" written correctly in my excel.csv file for it to auto-increment, because I am not sure at all?
0
 
LVL 21

Accepted Solution

by:
K V earned 2000 total points
ID: 24148704
I've observed that if you don't give newline at end of the file it will give "Invalid format of CSV input on ..."
Remove field-names from line 1 and also add new line at the end of file.
0
 
LVL 21

Expert Comment

by:K V
ID: 24148712
Optionally you can give :
Number of records(queries) to skip from start  = 1
0
 
LVL 21

Expert Comment

by:K V
ID: 24148737
I hope your providing proper options while importing csv file:
Fields terminated by = , instead of default "
0
 

Author Comment

by:MisterHamper
ID: 24148891
Ahh yes it seems it is working now. I tried skipping 1 line, and remembered to use "Fields terminated by = , "

Thanks alot, my good sir! :D Have a nice day
0

Featured Post

Get proactive database performance tuning online

At Percona’s web store you can order full Percona Database Performance Audit in minutes. Find out the health of your database, and how to improve it. Pay online with a credit card. Improve your database performance now!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
This post looks at MongoDB and MySQL, and covers high-level MongoDB strengths, weaknesses, features, and uses from the perspective of an SQL user.
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
Suggested Courses

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question