![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 7.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam tabelę którą 2 razy dziennie oprózniam i importuje do niej 3 pliki csv (oddzielone średnikami), dane w plikach mają nagłówki. Domyślne opcje importu w phpMyAdmin dla pliku csv to: separator -przecinek, i "Liczba wierszy, by pominąć, począwszy od pierwszego wiersza" - zero. Aby przyspieszyć import udało mi sie zmienić domyślny format pliku do importu na csv, oraz domyślny separator w polu "Kolumny oddzielone" na srednik. Nie mogę jednak znaleźć opcji aby zmienić wartość domyślną w polu: "Liczba wierszy, by pominąć, począwszy od pierwszego wiersza" . Tu domyślne jest 0, a chciałbym żeby było 1 ze względu na nagłówki w moich plikach csv Czy da sie w jakiś sposób zmienić tę opcję ( np. edytując my.ini) ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 1 Dołączył: 4.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
A po co edytować? Po mojemu to zwyczajnie:
Powodzenia, daj znać czy działa. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 7.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Działa i łyka wszystkie 3 pliki na raz:
LOAD DATA INFILE '\aw.csv' INTO TABLE `table 27` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES ; LOAD DATA INFILE '\sm.csv' INTO TABLE `table 27` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES ; LOAD DATA INFILE '\ex.csv' INTO TABLE `table 27` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES ; dzięki, teraz szukam jakiegoś kontenera, żeby uruchamiać te zapytania dwuklikiem (te i kolejne moje, działające w tej chwili w postaci zapytań i tworzenia widoków, następnie kolejne zapytanie odnoszace się do utworzonego widoku i tworzenie nowego, wynikowego. Zdecyduje się chyba na pare -plik php(z poziomu php tylko połączenie z bazą, następnie zapytania sql), oraz bat uruchamiający wykonanie pliku php w interpretorze (php for windows). Chodzi o to żeby koledzy z działu mogli robić raport w przypadku mojej nieobecności na swoich kompach zainstaluje im tylko php for windows, który niewiele waży. Php liznałem tylko podstawy, masz moze jakiegoś gotowca? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wystarczy że wrzucisz wszystkie zapytania do pliku SQL i odpalisz mysql z wiersza poleceń
W linuksie wystarczy Kod mysql -u user -p pass < plik.sql
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 7.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Super, stworzyłem plik wsadowy, który łączy się z bazą i odpala zapytania zawarte w pliku sql. Po dodaniu ścieżki do katalogu bin do zmiennej środowiskowej path, można go odpalac z dowolnego folderu. Dane sa importowane obliczenia dokonują się jak poprzednio w postaci zapytanie-widok, jak poprzednio w związku z czym muszę teraz tylko tylko eksportować dane z ostatniego widoku do pliku csv.
Stworzyłem takie zapytanie: SELECT `a`, `b`, `c`, `d`, `e` FROM `dane` INTO OUTFILE 'C:\\sql/RAPORT/raport.csv' FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\n' ; i tu mam problem bo w polach które są puste pojawia sie /N , a wolałbym zeby były puste. Eksportując ręcznie przez phpmyadmin pola te były wypełnione wartościa null jednak była tam opcja "Zamień null na : " zostawiałem to pole puste i miałem plik jaki chciałem. Jak bym nie kombinował z separatorami i zakończeniami linii to zawsze w pustych polach jest /n albo wszystkie dane są w jednej linijce. HELP |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
doda
FIELDS ESCAPED BY '""' Ten post edytował Pyton_000 12.08.2014, 11:25:29 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 7.08.2014 Ostrzeżenie: (0%) ![]() ![]() |
Pokazuje się błąd:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FIELDS TERMINATED BY ';' ENCLOSED BY '"' LINES TERMINATED BY '\n'' at line 1 FIELDS ESCAPED BY '""' - wydaje się ze nie może być dwóch cudzysłowów - #1083 - Field separator argument is not what is expected; check the manual dobra, koniec zabawy z ustawianiami csv, rozwiązałem problem inaczej, napisałem dodatkowe zapytanie, użyłem IFNULL, pozbyłem się tych wartosci, teraz eksportuje dobrze dzięki wszystkim za pomoc |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:51 |