![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 16.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 177 Pomógł: 6 Dołączył: 14.01.2003 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
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. -------------------- "zycia nie mierzy sie liczba oddechow,
ale liczba chwil, ktore zapieraja dech w piersi" |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:43 |