Avatar billede megalw Nybegynder
04. februar 2002 - 14:13 Der er 6 kommentarer

indsæt "komma sepereret" fil i tabel

Hej

Har et problem vedr. indsættelse fra en komma sepereret fil i en mySQL tabel.

Tabellen er bygget op således:
CREATE TABLE data (
  id int(10) NOT NULL auto_increment,
  navn varchar(100) NOT NULL default '',
  att varchar(100) NOT NULL default '',
  adresse varchar(100) NOT NULL default '',
  postnr varchar(100) NOT NULL default '',
  bynavn varchar(100) NOT NULL default '',
  telefon1 varchar(100) NOT NULL default '',
  telefon2 varchar(100) NOT NULL default '',
  fax varchar(100) NOT NULL default '',
  email varchar(100) NOT NULL default '',
  saelger varchar(100) NOT NULL default '',
  booket varchar(10) NOT NULL default '',
  besoeg date NOT NULL default '0000-00-00',
  aftaltmed varchar(100) NOT NULL default '',
  tid varchar(10) NOT NULL default '',
  besked varchar(255) NOT NULL default '',
  ny char(2) NOT NULL default '',
  nydato varchar(25) NOT NULL default '',
  emne varchar(50) NOT NULL default '',
  statdato varchar(35) NOT NULL default '',
  phoner varchar(15) NOT NULL default '',
  stat varchar(15) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM PACK_KEYS=1;


Og den komma sepereret fil ser således ud:

"Firmanavn";"Adresse";"Stednavn";"Postnr";"By";"Telefon"

"Fællesorg Boligforening Afd 41";"Søndre Stationsvej 17 B";"";"4200";"Slagelse";""
"Frederikshavn Boligforening";"Teglgårdsvej 9";"";"9900";"Frederikshavn";""
"Dalum Bygge- og Boligforening";"Hybenvej 32";"Hjallese";"5260";"Odense S";""
"Hornum Boligforening Afd. 3";"Gøteborgvej 35";"";"9200";"Aalborg SV";"98188477"
"Kommunefunktionærernes";"Havnegade 29";"";"1058";"København K";""

osv.


Hvordan for jeg nu klippet denne fil ind i mySQL tabellen ??
Avatar billede erikjacobsen Ekspert
04. februar 2002 - 15:03 #1
Du laver et script i Perl, PHP eller ASP, der læser din komma
separerede fil linie for linie, og som klipper felterne ud. For hver
linie laves en SQL-sætning (INSERT INTO ...), som gemmes på
en fil.

Denne fil kigger ud igennem for at se om den ser fornuftig ud,
og så hælder du den ind i din database.
Avatar billede megalw Nybegynder
04. februar 2002 - 15:05 #2
Som sagt så gjort :) næsten da, kunne jeg logge dig til at give et eksempel på det?
Avatar billede erikjacobsen Ekspert
04. februar 2002 - 15:13 #3
Ups, nej, det kan du ikke. Jeg opdagede ikke at dit spørgsmål var
til mere end 60p - og så vil jeg ikke deltage (pointinflation på
eksperten.dk). Det var et uheld du overhovedet fik den kommentar.
Avatar billede megalw Nybegynder
04. februar 2002 - 15:25 #4
huh?
Avatar billede mortenfn Nybegynder
04. februar 2002 - 22:46 #5
LOAD DATA INFILE "data.txt" INTO TABLE db2.my_table;

derefter laver du en SELECT bla bla

og so en while med INSERT i de rigtige kolonner

mortenfn
Avatar billede mortenfn Nybegynder
13. marts 2003 - 15:28 #6
LOAD DATA LOCAL INFILE 'fil.txt' REPLACE INTO TABLE `tabel`
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
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
Computerworld tilbyder specialiserede kurser i database-management

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