Solved

MySQL Error 1366

Posted on 2014-03-17
16
672 Views
Last Modified: 2014-03-17
I am a real rookie on MySQL (migrating from MS/ACCESS 2013). I need to export an old table from ms/access to ms/excel and saving it as CSV in order to import to MySQL.

The database is set with a single table (this table), to be imported. It looks alright, but I am consistently getting the error on import when there are special characters such as [ó] [á] to [ã]. The error is: "1366 Incorrect string value: ' ...' for column.."

My SQL statement is:

load data local infile '/Users/jlsp/Dropbox/md/AD/GuineBissau/eleicoes GNB/11 BDDE Lc/BDDE_01/T_21_Delegados59Migra.csv'
into table Militantes
character set utf8
 fields terminated by ';'
 enclosed by '"'
 lines terminated by '\r'
      (Mil_Estatuto, Mil_Organismo, Mil_Regiao, Mil_Sector, Mil_Numero,
      Mil_Orgao, Mil_Nome, Mil_Sexo, Mil_Cargo, Mil_Observacoes, Mil_Fonetica, Mil_OutroNome, Mil_Telefone1, Mil_Telefone2)

all records are imported but, for every column, the character after the accented character are not inputted to the column
can anyone hope?
0
Comment
Question by:jirdeaid
  • 8
  • 8
16 Comments
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39934532
We all hope :)

Please post some sample lines from your csv and your CREATE TABLE statement so we can test.

Thanks,
Dan
0
 

Author Comment

by:jirdeaid
ID: 39934562
The CSV is attached. I do not have a create (I have used the workbench) but I have the following statement:

ALTER DATABASE MySQL
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;

which was successfully executed.

After posing the question, I have managed to sort out by changing to "latin1" the UFT8 specification on the "load data file". Now my front end is a mess changing all characters.

As I do not understand the issue I do not know what to do
T-21-Delegados59testeFF.csv
0
 
LVL 34

Assisted Solution

by:Dan Craciun
Dan Craciun earned 500 total points
ID: 39934608
Since you told MySQL that the fields are enclosed by "", maybe enclosing them will help.
See attached.
If not, I'm going to need the table structure, cause you have 41 fields in your csv and importing 14 into your table.
FWIW, in Excel I could correctly import your csv using latin3, while UTF-8 produced errors.
T-21-Delegados59testeFF.csv
0
 

Author Comment

by:jirdeaid
ID: 39935021
I am sorry. Sent you the wrong file! Anyway, as I told in my previous message the problem looked to be sorted when I used "latin1" and the front end (MySQL workbench) looked perfect. The data is there and all accented characters are perfect.

But on my application front ente (I am using LiveCode), it shows wrong and weird characters... And, because I do not really understand the picture, I do not know what to do on the front-end side to sort out the problem.

Do you think that by enclosing on "" will solve?
Joao
T-21-Delegados59Migra.csv
0
 
LVL 34

Assisted Solution

by:Dan Craciun
Dan Craciun earned 500 total points
ID: 39935030
Nope. If it looks good on Workbench, then the data imported correctly.

When presenting the same data, you need to use the same encoding, to avoid character misrepresentation.
0
 

Author Comment

by:jirdeaid
ID: 39935050
so which commend shall I send to mySQL to query the data in the proper manner? Or is this a problem with LiveCode?
0
 
LVL 34

Accepted Solution

by:
Dan Craciun earned 500 total points
ID: 39935060
The only command to query is SELECT.

Mysql will send the data, then it's the application's job to interpret it.
0
 

Author Closing Comment

by:jirdeaid
ID: 39935075
Ok.
I am closing the question. It is not MySQL anymore, and hope that someone in experts exchange can help me on live code/runrev....
0
Control application downtime with dependency maps

Visualize the interdependencies between application components better with Applications Manager's automated application discovery and dependency mapping feature. Resolve performance issues faster by quickly isolating problematic components.

 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39935089
You might find this to be of interest: http://forums.runrev.com/viewtopic.php?f=12&t=6040
0
 

Author Comment

by:jirdeaid
ID: 39935102
went there an it looks pretty easy. My database has a single table and in order to be able to import I had to use the "latin1".

So now this table is latin1. How do I change the whole table to UFT8?
0
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39935107
Try creating a new table with UTF-8 collation and then INSERT SELECT from your original table.
Don't know if it will work properly, but it's worth a try.
0
 

Author Comment

by:jirdeaid
ID: 39935129
ok. I'll try. as I am totally newbie to SQL I need first to look for  a syntax to do it. I will the let you know

joao
0
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39935135
INSERT INTO new_table
    SELECT Mil_Estatuto, Mil_Organismo, Mil_Regiao, Mil_Sector, Mil_Numero,
      Mil_Orgao, Mil_Nome, Mil_Sexo, Mil_Cargo, Mil_Observacoes, Mil_Fonetica, Mil_OutroNome, Mil_Telefone1, Mil_Telefone2 FROM old_table
0
 

Author Comment

by:jirdeaid
ID: 39935138
0
 
LVL 34

Expert Comment

by:Dan Craciun
ID: 39935145
You can try that too. Just on a copy of the table, so you don't need to import your data again.
0
 

Author Comment

by:jirdeaid
ID: 39935153
nope. same problem. but when I edit the field in the LiveCode grid and put a right character it accepts. It looks that this is a presentation problem on the LiveCode grid...
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Suggested Solutions

Do you come here a lot? Are you lazy like me and don't want to go through the "trouble" of having to click your Dock's Safari icon and then having to click your Experts Exchange Favorites bookmark to get here? Well then this article is for you.
Ever needed a SQL 2008 Database replicated/mirrored/log shipped on another server but you can't take the downtime inflicted by initial snapshot or disconnect while T-logs are restored or mirror applied? You can use SQL Server Initialize from Backup…
Via a live example, show how to set up a backup for SQL Server using a Maintenance Plan and how to schedule the job into SQL Server Agent.
Shows how to create a shortcut to site-search Experts Exchange using Google in the Chrome browser. This eliminates the need to type out site:experts-exchange.com whenever you want to search the site. Launch the Search Engine Menu: In chrome, via you…

707 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now