Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Załadowanie danych z 1 pliku do kilku tabel.
Forum PHP.pl > Forum > Bazy danych > MySQL
svmon
Witam.
Mam właśnie dylemat w jaki sposób załadować plik do bazy danych z jednego pliku do kliku tabel. Tabele te mają klucze obce, które łączą się między sobą.
Przykład bazy:
Tabela 1:
kolumna_1_tabela1 int [PK]
kolumna_2_tabela1 varchar

Tabela 2:
kolumna_1_tabela2 int [PK]
kolumna_2_tabela2 _ tabela 2 [FK]
kolumna_3_tabela2 _ tabela 3 [FK]
kolumna_4_tabela2 decimal
kolumna_5_tabela2 decimal
kolumna_6_tabela2 decimal
kolumna_7_tabela2 int

Tabela 3:
kolumna_1_tabela3 [PK]
kolumna_2_tabela3 date


Plik wejściowy wygląda, następująco:
nazwa1,20030511,10.33,0.45,0.38,3.43,8203
nazwa2,20030511,13.33,3.45,2.38,2.43,54243



Dane chciałby zaimportować lokalnie i poprzez www.

Ps. myślałem nad takim rozwiązaniem:
LOAD DATA INFILE 'C:\plik.txt'
REPLACE INTO TABLE tabela1, tabela2, tabela3
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n\r' (kolumna_2_tabela1, kolumna_2_tabela3, kolumna_4_tabela2, kolumna_5_tabela2 decimal, kolumna_6_tabela2, kolumna_7_tabela2)

LOAD DATA INFILE - funkcja ta niestety nie działa, ponieważ za pomoc niej można importować tylko 1 tabele w jednym poleceniu.

Można by zrobić tabele tymczasową, która będzie wysyłać dane do pozostałych tabel. Ale może jest inne rozwiązanie?

Za wszelkie wskazówki wielkie dzięki.
Method
chodz ja działam na bazach oraclowych ale ale .....
Poprostu wrzucam do bloba dane z CSV czy innym z góry ustalonym formacie.
Zwykle wystarcza prosta tabelka: ID, wartosc , ja dorzucilem jeszcze id_joba bo leniwy jestem.

W kazdym razie importuje do jednej tabeli - -np. SQLloader i jak już mam w bazie to mogę sobie zdekopomponować na stukturę jaką chce.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.