Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: phpMyAdmin - domyślne opcje importu
Forum PHP.pl > Forum > Bazy danych > MySQL
Pafio
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) ?
Shrapnel
A po co edytować? Po mojemu to zwyczajnie:

  1. LOAD DATA INFILE 'C:\\Users/twoja_sciezka/forum.csv' INTO TABLE `forum` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\n' IGNORE 1 LINES (twoje_zmienne);


Powodzenia, daj znać czy działa.
Pafio
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?
Pyton_000
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
Pafio
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

Pyton_000
doda
FIELDS ESCAPED BY '""'
Pafio
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
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.