Avatar billede suckatphp Nybegynder
24. december 2003 - 14:31 Der er 5 kommentarer og
1 løsning

data overføres til database

Jeg har ca. 5600 liners data på formen:

kreds, efternavn, fornavn, by, rating, årstal, id

Eksempelvis

"1","Nielsen","Steen","Rødovre","1158","2003","100101430"
"6","Jensen","Palle","Århus","1000","2003","100601650"
"8","Hansen","Rico","Bornholms","1707","2003","100801170"
"5","Bentsen","Jørn","Grindsted","1329","2003","100500190"
"9","Pedersen","Søren","Vinderup","1602","2001","100900743"
"6","Petersen","Michael","Odense","2166","2003","100600589"

Disse data vil jeg gerne have over i en mysql database. Er der nogen der har en ide hvordan jeg lettest gør det ? det drejer sig om 357 kb data. Jeg vil meget gerne have noget kode :-)
Avatar billede detox Nybegynder
24. december 2003 - 14:54 #1
Du kan bruge "load data infile". Lig filen i mappen, hvor databasen har sine data liggende. Fx, hvis filen hedder 'data1.txt':

LOAD  DATA  INFILE  'data1.txt' INTO  TABLE tabel FIELDS  TERMINATED  BY  ',' ENCLOSED BY '"' LINES TERMINATED BY '\r\n';
Avatar billede detox Nybegynder
24. december 2003 - 14:58 #2
Ellers kan du selvfølgelig ligge files et andet sted og bruge den absolutte sti. Fx (windows):

LOAD  DATA  INFILE  'C:/server/www/test2/data1.txt' INTO  TABLE tabel FIELDS  TERMINATED  BY  ',' ENCLOSED  BY  '"' LINES  TERMINATED  BY  '\r\n'
Avatar billede detox Nybegynder
24. december 2003 - 15:01 #3
Det kræver naturligvis at du opretter tabellen først. Fx:

CREATE TABLE tabel (
  kreds tinyint(4) NOT NULL default '0',
  efternavn varchar(64) NOT NULL default '',
  fornavn varchar(64) NOT NULL default '',
  by varchar(64) NOT NULL default '',
  rating mediumint(9) NOT NULL default '0',
  year smallint(6) NOT NULL default '0',
  id int(11) NOT NULL default '0'
) TYPE=MyISAM;
Avatar billede detox Nybegynder
24. december 2003 - 15:04 #4
Husk at når du bruger et reserveret ord som: by, skal du omkapsle det med backtics: `by` når du referer til det i dine forespørgsler. Det nemmeste er nok at bruge et andet navn fx: city (ligesom jeg har udskiftet 'årstal' med 'year' for at undgå 'å' i navnet.
Avatar billede suckatphp Nybegynder
24. december 2003 - 15:14 #5
tak for svaret det virker fint .. men du må undskylde for det var ikke helt det jeg havde tænkt (hvilket naturligvis forudsætter at din tankelæsning fungererer optimalt). Men dit svar opfylder jo præcist det jeg bad om :-)

Problemet at disse data skal opdateres en gang om måneden, af en person som ikke har adgang til databasen, jeg kunne derfor godt tænke mig hvis det var muligt at få lavet dem som sql kald og med brug af en eller anden slags tokenizer, jeg har selv prøvet men har også opgivet :-)
Avatar billede detox Nybegynder
27. december 2003 - 00:28 #6
Ja, så er jeg ikke helt med på hvad du mener, for der skal jo være en eller anden form for adgang til databasen for at kunne opdatere den. Og så kan du jo lige så godt bruge denne sql, som en hvilken som helst anden. Du kan selvfølgelig sagtens lave et script som læser filen og smider dem i tabellen, men jeg kan ikke se det skulle være nødvendigt?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester