Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> mysql load data infile do kilku tabel
darko
post 27.09.2012, 00:56:09
Post #1





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witajcie !

Tym razem pytanie będzie dotyczyć ładowania danych bezpośrednio do tabel za pomocą konstrukcji load data infile . Rzecz nie byłaby skomplikowana gdyby chodziło o pojedynczą tabelę. Problem polega na tym, jak zaimportować dane z jednego pliku csv jednocześnie do kilku tabel (jednym zapytaniem sql)? Z tego wątku dowiedziałem się, że muszę użyć tyle razy LOAD DATA, do ilu tabel będę wstawiać dane. Z kolei, z tego postu wiem, jakie ustawienia powinna mieć baza danych. Dodam tylko, że tabele będą na silniku innodb, jak też myisam. Czy znacie sposób, aby zrobić takiego szybkiego inserta/update/delete bez konieczności przygotowywania wielu plików csv, dla każdej tabeli z osobna? Czy ma to w ogóle znaczenie czy zrobię to w jednym pliku i jednym zapytaniem czy kilkunastoma plikami i zapytaniami? Wolałbym jednym zapytaniem wstawić wszystkie dane, do ok. 30 tabel; same dane to dość spora pula produktów, import ma lecieć do Magento, jak najszybciej się da. Zapoznałem się wstępnie z Magmi i dziękuję z góry za posty prowadzące do tego rozszerzenia. *)


*)chyba, że faktycznie warto i nie ma innego (czyt. wydajniejszego) rozwiązania?
edit//
literowki

Ten post edytował darko 27.09.2012, 01:08:48


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
alegorn
post 27.09.2012, 10:01:10
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

Ostrzeżenie: (0%)
-----


samym load data tego nie zrobisz.

ale co z tego, odrobina wiecej pracy - i będzie dobrze.
importuj dane do tabeli zrodlowej
napisz sobie procedure ktora rozprowadzi dane po konkretnych tabelach.

caly import, czyli load data, takze bedzie ci wygodnie opakowac procedurą, jako paramert podając ścieżkę do pliku.

także cały proces da się uruchomić jednym poleceniem.


j.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.06.2025 - 10:00