Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Importing partial data into MySQL from CSV

Tags:

mysql

csv

I have a CSV that is a partial projection of an origin table. I have the same table structure in my DB.

I would like to import only those columns into my DB, given that no additional NOT NULL constraints are in place (I explicitly disabled some of them). I don't know how to import them.

I have tried the following: from MySQL Workbench, right click on table and then Edit table data, then on the screen I tried the "Import records from an external file" button, loaded the CSV file but I got the following error:

[Window Title]
MySQL Workbench

[Main Instruction]
Error importing recordset

[Content]
error calling Python module function SQLIDEUtils.importRecordsetDataFromFile

[OK]

The column names are the same as in the DB but these are partial (not all columns as DB). The table is currently empty.

What can I do to import the data into MySQL?

like image 526
usr-local-ΕΨΗΕΛΩΝ Avatar asked Aug 23 '13 10:08

usr-local-ΕΨΗΕΛΩΝ


People also ask

How do I import CSV data into MySQL?

In the Format list, select CSV. Changing format-specific options. If the csv file is delimited by a character other than a comma or if there are other specifications to the csv files, we can change it in this portion. Click Go to start importing the csv file and the data will be successfully imported into MySQL.

What does truncate table before import mean?

TRUNCATE TABLE removes all rows from a table, but the table structure and its columns, constraints, indexes, and so on remain. To remove the table definition in addition to its data, use the DROP TABLE statement.


1 Answers

It turns out that is the error that tool gives for ANY problems importing CSV data. They have opened a bug for more descriptive error responses.

For me it turned out that it can not work with non-Windows line breaks. So if your file came from Unix/Linux or Mac it will not work. You can just open it in Excel though and re-save it as an MS-DOS CSV and then it works. Other things that can make it throw up are any use of ";".

Also the tool has NO column mapping options so you have to have your import file matched to the table setup perfectly. If you have columns mis-matched or data types mis-matched it will also throw-up.

like image 122
BrianC Avatar answered Sep 23 '22 15:09

BrianC