![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 24.12.2003 Skąd: Wisła Ostrzeżenie: (0%) ![]() ![]() |
Mam taki mały problem
nie wiem jak wstawić rekordy (500 - 20 000 rekordow) z pliku CSV, tak aby rekordy były unikalne nie powtarzały się, tzn gdy wczytam 2 razy ten sam plik rekordy nie dopisywały się ponownie. 1. istnieje pole id (autoincrement) identyfikujace dany rekord, ======================= pobieram dane z pliku w ten sposób: if (($handle = fopen('c:\przelewy\rok_2012.csv', "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { $num = count($data); echo "<p> $num fields in line $row: <br /></p>\n"; $row++; ....................... INSERT INTO `wplaty_CSV_test` ( `data` , `wplacajacy` , `konto` , `tytul_wplaty` , `kwota` ,`saldo` , `wpisane` ) VALUES ('2012-05-15','Pan Jan','45654654676888888', 'OPŁATA ', '9.20','6.66', 'NIE' ) ....................... =========================== czy może lepiej: LOAD DATA LOCAL INFILE '<file name>' INTO TABLE <table> ============================ z powodu pola autoincrement mam problem z tym: INSERT INTO tmp SELECT DISTINCT * FROM wplaty_CSV_test =============================== tabela prezentuje się tak: CREATE TABLE IF NOT EXISTS `wplaty_csv` ( `nr` int(11) NOT NULL auto_increment, `data` date NOT NULL, `wplacajacy` varchar(170) NOT NULL, `konto` varchar(28) NOT NULL, `tytul_wplaty` varchar(400) NOT NULL, `kwota` float NOT NULL, `saldo` float NOT NULL, `wpisane` varchar(3) NOT NULL default 'NIE', PRIMARY KEY (`nr`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 ; Jak wczytywać pliki CSV szybko sprawnie i skutecznie ? Dziękuję z góry za pomoc G. Ten post edytował grzesio 15.05.2012, 08:48:00 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 27.09.2025 - 07:11 |