Första sidan | Forum start | Logga in | Bli medlem |


MySQL

Forumet för dej som vill diskutera MySQL, Oracle och andra databaser till UNIX / Linux.

MySQL

Inläggav klein 20 juni 2007, 12:12

Jag vill ladda in data, där kolumbredden är fast, vad jag förstår på

http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Hittar jag bara hur man ladda in data med olika skiljetecken.

Förslag?
klein
 
Inlägg: 4883
Blev medlem: 1 april 2002, 02:00
Ort: 43,41,41N, 7,15,47Ö

Inläggav erik_persson 20 juni 2007, 13:15

Nu har jag inte läst mysql-sidan du hänvisar till, men kan du inte överföra mellan de olika representationerna?

/erik
erik_persson
 
Inlägg: 1474
Blev medlem: 29 augusti 2002, 15:19

Inläggav klein 20 juni 2007, 18:31

Nu förstår jag inte vad du menar. Det jag vill göra är att ladda in en textfile, som har fasta "fältlängder, i mysql.



erik_persson skrev:Nu har jag inte läst mysql-sidan du hänvisar till, men kan du inte överföra mellan de olika representationerna?

/erik
klein
 
Inlägg: 4883
Blev medlem: 1 april 2002, 02:00
Ort: 43,41,41N, 7,15,47Ö

Inläggav erik_persson 21 juni 2007, 03:13

m skrev:Nu förstår jag inte vad du menar. Det jag vill göra är att ladda in en textfile, som har fasta "fältlängder, i mysql.


Du har massor av verktyg som kan introducera postavskiljare i linux/unix.
Använd dem för att tex sätta @@@@ mellan kolumnerna i posterna, och fixa sedan så att @@@@ uppfattas som postavskiljare när du importerar filen till mysql.

/erik
erik_persson
 
Inlägg: 1474
Blev medlem: 29 augusti 2002, 15:19

Inläggav klein 21 juni 2007, 08:53

Problemet är inte att skilja posterna åt ,utan att läsa ett enkelt sätt definera upp dom fast längder som är på fälten.

erik_persson skrev:
m skrev:Nu förstår jag inte vad du menar. Det jag vill göra är att ladda in en textfile, som har fasta "fältlängder, i mysql.


Du har massor av verktyg som kan introducera postavskiljare i linux/unix.
Använd dem för att tex sätta @@@@ mellan kolumnerna i posterna, och fixa sedan så att @@@@ uppfattas som postavskiljare när du importerar filen till mysql.

/erik
klein
 
Inlägg: 4883
Blev medlem: 1 april 2002, 02:00
Ort: 43,41,41N, 7,15,47Ö

Inläggav erik_persson 21 juni 2007, 15:40

m skrev:Problemet är inte att skilja posterna åt ,utan att läsa ett enkelt sätt definera upp dom fast längder som är på fälten.
/erik
[/quote]

sed 's/\(.\{10\}\)\(.*\)/\1@@@@\2/' infil > utfil

Så kan du tex särskilja en första kolumn med fast längd om 10 tecken från en andra kolumn som här är av valfri längd, och du lägger in @@@@ som kolumnavskiljare.

Spinn vidare på detta. Det finns oändliga möjligheter att göra dylikt i unix och massor av verktyg för att göra det. Skriv ett minimalt perl-script, kör awk, använd sed, använd cut. Det finns massor av varianter och det rör sig bara om att knåpa ihop ett litet script.

/erik
erik_persson
 
Inlägg: 1474
Blev medlem: 29 augusti 2002, 15:19


Återgå till Databas forum

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 2 gäster