23. august 2006 - 14:15
Der er
3 kommentarer og
1 løsning
Konvertering af input kommando
Heeeey
Jeg går lige til sagen.
Jeg har et udtræk fra en gammel database som ser således ud:
INSERT INTO `email_sending` VALUES (110, 3, '80808080' , 'xx@xx.dk');
Det skulle jeg gerne have ind i en ny database, men formateret således:
INSERT INTO `plm_subscribers` (`subscriberid`, `emailaddr`, `firstname`, `lastname`, `userfield1`, `userfield2`, `createdatetime`, `pending`) VALUES (1, 'xx@xx.dk', '80808080', NULL, 'ukendt', 'ukendt', '2006-08-23 11:58:46', 0);
Er der nogen derude der ved om der findes et smart værktøj som kan tage 80808080 og xx@xx.dk fra den gamle formatering ind i den nye ??
Jeg har lavet udtrækket som .TXT.
På forhånd tak...
Slettet bruger
23. august 2006 - 15:09
#1
Tag din tekstfil (eller helst en kopi af den) og åbn den i en teksteditor.
Søg/erstat. Søg efter:
`email_sending`
Erstat med:
`plm_subscribers` (`firstname`, `emailaddr`)
Så mangler du kun at fjerne de to tal fra hver linie.
Hvis din teksteditor understøtter søg/erstat med regulære udtryk, så er det også ret let:
Søg efter: "VALUES (\d+, \d+, "
Erstat med: VALUES (
NB! Jeg satte " om søgestrengen, da den slutter med et mellemrum
23. august 2006 - 15:24
#2
hehe den med søg erstat på table name havde jeg godt regnet ud, tak ;)
Men at få '80808080' og 'xx@xx.dk' overført er være! Men kan man det med regulære udtryks søgning ??
Slettet bruger
23. august 2006 - 17:15
#3
Ja. Efter begge søg/erstat er gennemført burde filen ligne dette:
INSERT INTO `plm_subscribers` (`firstname`, `emailaddr`) VALUES ('80808080', 'xx@xx.dk');
Det kan forresten også lade sig gøre at lave et php-script, som laver erstatningerne og outputter den passende nye textfil.