webForumDet fria alternativet

LOAD DATA INFILE och "

3 svar · 594 visningar · startad av MickeA.com

MickeA.comMedlem sedan feb. 20034 441 inlägg
#1

Hej,

Ska importera en .csvfil till MySQL, alla textvärden i filen är omslutna av " och här blir det problem.

Har testat med följande:

LOAD DATA LOCAL INFILE 'filnamn.csv'
INTO TABLE `test`
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '\"'
IGNORE 1 LINES
...

Men det blir problem, " verkar aldrig tolkas rätt, för kolumnen tidszon, som ser ut såhär:

"Europe: France, Germany, Poland (GMT+1)"

Det blir alltså fyra kolumner av ovanstående och en förskjutning i filen. Förslag på hur jag löser detta? Har suttit och Googlat i 45 minuter nu, men hittar inget som fungerar.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#2

Jag har nu efter tre timmar fått den att suga in alla fält, men " tolkas fortfarande inte, utan följer med in i databasen.

Vad kan det ha med att göra?

SQL frågan ser ut såhär:

LOAD DATA LOCAL INFILE '/tmp/phpl9njo8' 
INTO TABLE temp_19_10_2009_16_51_00 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '\\' 
LINES TERMINATED BY '\n'
MickeA.comMedlem sedan feb. 20034 441 inlägg
#3

Samma fel igen..

Såhär ser frågan ut:

LOAD DATA INFILE <datasource> 
INTO TABLE `bkp_campaign` 
CHARACTER SET utf8 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '\"' 
LINES TERMINATED BY '\\n'

Felet är:

Incorrect datetime value: ' "2008-04-14 14:15:57"
' for column 'created_at' at row 1

Alltså, jag kommer inte överens med det här, hur jag än gör så fungerar det inte när fälten i min csv-fil använder " " runt om.

Behöver köra det här med PHP, men har även testat frågan direkt i MySQL konsollen med exakt samma resultat.

MickeA.comMedlem sedan feb. 20034 441 inlägg
#4

Kan det här bero på teckenkodning, varför tolkas inte " som OPTIONALLY ENCLOSED BY? Det sjuka är ju att det blir exakt samma resultat oavsett om jag kör genom PHP eller direkt i MySQL konsollen.

Behöver lösa det här på ett vettigt sätt.

132 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)