![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 212 Pomógł: 0 Dołączył: 18.12.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam plik .txt z paroma tysiącami rekordów w postaci: START|1|54354|8789789y9|8y789y789gh789|8h89h89|KONIEC START|2|354|8789789y9|KONIEC START|3|4|nh9uh89|b78|h7g78|b7g76g78|vgdj9d3|b73bhf788|bn7hr789342|nc7ne89f|nc8e f9834|8h89h89|KONIEC jak widzicie ilość kolumn w każdym wierszu jest różna. W jaki sposób zaimportować ten plik do MYSQLa tak żeby pobierał z każdego rekordu dane tylko z pierwszej, trzeciej i np piątej kolumny. ? Ten post edytował M@X 1.08.2008, 11:05:32 -------------------- "timeo danaos at dona ferentes"
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wczytujesz po jednej linii i rozbijasz ją na tablicę, potem bierzesz te pola co Ci są potrzebne.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 26 Dołączył: 19.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
O wiele wydajniejsze jest użycie Mysql'owego LOAD DATA.
zakładasz tabelę podobną do tej:
później wykonujesz zapytanie w stylu:
tabelę tą możesz potraktować jako tymczasową, a dane z interesujących cię kolumn przenieść do innej. Ładowanie przez wielokrotne wykonywanie INSERTÓW za pomocą pętli w PHP jest kilkakrotnie wolniejsze. Poza tym mySQL radzi sobie z dużymi plikami. Link do manuala tu |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 12:57 |