Zrobiłem bazę mysql z bazy exela xls a pontem na csv. Znalazłem skrypt konwersji jest tutaj
http://miodzio.net/csv2sql.php
Baza ma ponad 62000 rekordów, ale mi zależy. Pierwsze 241 zapytań do wstawienia do bazy poszło, reszta rekordów nie chce.
Pomuście mi wyczaić błąd bo wszystkie włosy sobie powyrywam z nerwów. Pewnie chodzi o jakieś ustrojstwo w formie przecinka lub kropki.
Więc tak, struktura tabeli:
CREATE TABLE `firm` ( `ID` int(6) NOT NULL AUTO_INCREMENT, `nazaw1` varchar(50) collate utf8_polish_ci NOT NULL, `nazwa2` varchar(50) collate utf8_polish_ci DEFAULT NULL, `kod` varchar(6) collate utf8_polish_ci DEFAULT NULL, `miasto` varchar(50) collate utf8_polish_ci DEFAULT NULL, `skrytkaul` varchar(40) collate utf8_polish_ci DEFAULT NULL, `powiat` varchar(20) collate utf8_polish_ci DEFAULT NULL, `bylewoj` varchar(20) collate utf8_polish_ci DEFAULT NULL, `woj` varchar(20) collate utf8_polish_ci DEFAULT NULL, `tel` varchar(50) collate utf8_polish_ci DEFAULT NULL, `fax` varchar(50) collate utf8_polish_ci DEFAULT NULL, `telfax` varchar(50) collate utf8_polish_ci DEFAULT NULL, `homep` varchar(80) collate utf8_polish_ci DEFAULT NULL, `mail` varchar(50) collate utf8_polish_ci DEFAULT NULL, `forpraw` varchar(70) collate utf8_polish_ci DEFAULT NULL, `forwla` varchar(40) collate utf8_polish_ci DEFAULT NULL, `nip` bigint(10) DEFAULT NULL, `rokzal` int(4) DEFAULT NULL, `wyr1` varchar(3) collate utf8_polish_ci DEFAULT NULL, `pozostale` int(20) DEFAULT NULL, `bank` varchar(50) collate utf8_polish_ci DEFAULT NULL, `nrbank` varchar(20) collate utf8_polish_ci DEFAULT NULL, `stglmen` varchar(20) collate utf8_polish_ci DEFAULT NULL, `glmen` varchar(30) collate utf8_polish_ci DEFAULT NULL, `finansest` varchar(20) collate utf8_polish_ci DEFAULT NULL, `mendsfin` varchar(30) collate utf8_polish_ci DEFAULT NULL, `technikast` varchar(20) collate utf8_polish_ci DEFAULT NULL, `mendstech` varchar(30) collate utf8_polish_ci DEFAULT NULL, `sprzedazst` varchar(20) collate utf8_polish_ci DEFAULT NULL, `ostzatrudnienie` varchar(10) collate utf8_polish_ci DEFAULT NULL, `ostobrut` varchar(10) collate utf8_polish_ci DEFAULT NULL, `kapital` varchar(10) collate utf8_polish_ci DEFAULT NULL, `nieruchwm2` varchar(10) collate utf8_polish_ci DEFAULT NULL, `ilostarob` varchar(3) collate utf8_polish_ci DEFAULT NULL, `komputery` varchar(40) collate utf8_polish_ci DEFAULT NULL, `import` varchar(100) collate utf8_polish_ci DEFAULT NULL, `eksport` varchar(100) collate utf8_polish_ci DEFAULT NULL, `mendsjak` varchar(20) collate utf8_polish_ci DEFAULT NULL, `jakoscst` varchar(20) collate utf8_polish_ci DEFAULT NULL, `mendspro` varchar(20) collate utf8_polish_ci DEFAULT NULL, `produkcjast` varchar(20) collate utf8_polish_ci DEFAULT NULL, `mendsinfo` varchar(25) collate utf8_polish_ci DEFAULT NULL, `informatykast` varchar(30) collate utf8_polish_ci DEFAULT NULL, `mendszaop` varchar(30) collate utf8_polish_ci DEFAULT NULL, `zaopatrzeniest` varchar(30) collate utf8_polish_ci DEFAULT NULL, `mendsbadroz` varchar(30) collate utf8_polish_ci DEFAULT NULL, `badaniast` varchar(30) collate utf8_polish_ci DEFAULT NULL, `mendskadrszkol` varchar(30) collate utf8_polish_ci DEFAULT NULL, `kadryst` varchar(30) collate utf8_polish_ci DEFAULT NULL, `mendsmark` varchar(30) collate utf8_polish_ci DEFAULT NULL, `marketingst` varchar(30) collate utf8_polish_ci DEFAULT NULL, `mendspromrekl` varchar(30) collate utf8_polish_ci DEFAULT NULL, `prorekst` varchar(30) collate utf8_polish_ci DEFAULT NULL, `mendssprz` varchar(30) collate utf8_polish_ci DEFAULT NULL, KEY `ID` (`ID`) );
Chrzan** optymalizacje tabeli, byle ruszyło :/
Teraz skrawek kodu z csv od wiersza 242 który wsawiłem do http://miodzio.net/csv2sql.php
Kod
ID;nazaw1;nazwa2;kod;miasto;skrytkaul;powiat;bylewoj;woj;tel;fax;telfax;homep;ma
il;forpraw;forwla;nip;rokzal;wyr1;pozostale;bank;nrbank;stglmen;glmen;finansest;
endsfin;technikast;mendstech;sprzedazst;ostzatrudnienie;ostobrut;kapital;nieruch
m2;ilostarob;komputery;import;eksport;mendsjak;jakoscst;mendspro;produkcjast;men
sinfo;informatykast;mendszaop;zaopatrzeniest;mendsbadroz;badaniast;mendskadrszko
;kadryst;mendsmark;marketingst;mendspromrekl;prorekst;mendssprz
242;ABC SERWIS Wiesław Tasarz;;50-347;WROCŁAW;ul. Sienkiewicza 116/9;m. Wrocław;wrocławskie;dolnośląskie;(71) 328 38 08|601 702 406;;;;;Przedsiębiorstwo prywatne;Własność prywatna;;;28;;;;Zarząd;Pan Wiesław Tasarz;;;;;;1;0,00;0;;;;;;;;;;;;;;;;;;;
243;ABC SILIKON;;03-994;WARSZAWA;ul. Wał Miedzeszyński 379;warszawski;warszawskie;mazowieckie;(22) 616 19 45;(22) 617 76 65;;;mailto:justyna@warszawa.home.pl;Przedsiębiorstwo prywatne;Własność prywatna;1130544609;;25;295610;;;Prezes;Pan Wojciech Szymski;;;;;;10;0,00;0;;;;;;;;;;;;;;;;;;;
il;forpraw;forwla;nip;rokzal;wyr1;pozostale;bank;nrbank;stglmen;glmen;finansest;
endsfin;technikast;mendstech;sprzedazst;ostzatrudnienie;ostobrut;kapital;nieruch
m2;ilostarob;komputery;import;eksport;mendsjak;jakoscst;mendspro;produkcjast;men
sinfo;informatykast;mendszaop;zaopatrzeniest;mendsbadroz;badaniast;mendskadrszko
;kadryst;mendsmark;marketingst;mendspromrekl;prorekst;mendssprz
242;ABC SERWIS Wiesław Tasarz;;50-347;WROCŁAW;ul. Sienkiewicza 116/9;m. Wrocław;wrocławskie;dolnośląskie;(71) 328 38 08|601 702 406;;;;;Przedsiębiorstwo prywatne;Własność prywatna;;;28;;;;Zarząd;Pan Wiesław Tasarz;;;;;;1;0,00;0;;;;;;;;;;;;;;;;;;;
243;ABC SILIKON;;03-994;WARSZAWA;ul. Wał Miedzeszyński 379;warszawski;warszawskie;mazowieckie;(22) 616 19 45;(22) 617 76 65;;;mailto:justyna@warszawa.home.pl;Przedsiębiorstwo prywatne;Własność prywatna;1130544609;;25;295610;;;Prezes;Pan Wojciech Szymski;;;;;;10;0,00;0;;;;;;;;;;;;;;;;;;;
wyszedł mi taki sql:
INSERT INTO firm (`ID`, `nazaw1`, `nazwa2`, `kod`, `miasto`, `skrytkaul`, `powiat`, `bylewoj`, `woj`, `tel`, `fax`, `telfax`, `homep`, `mail`, `forpraw`, `forwla`, `nip`, `rokzal`, `wyr1`, `pozostale`, `bank`, `nrbank`, `stglmen`, `glmen`, `finansest`, `mendsfin`, `technikast`, `mendstech`, `sprzedazst`, `ostzatrudnienie`, `ostobrut`, `kapital`, `nieruchwm2`, `ilostarob`, `komputery`, `import`, `eksport`, `mendsjak`, `jakoscst`, `mendspro`, `produkcjast`, `mendsinfo`, `informatykast`, `mendszaop`, `zaopatrzeniest`, `mendsbadroz`, `badaniast`, `mendskadrszkol`, `kadryst`, `mendsmark`, `marketingst`, `mendspromrekl`, `prorekst`, `mendssprz`) VALUES ('242', 'ABC SERWIS Wiesław Tasarz', '', '50-347', 'WROCŁAW', 'ul. Sienkiewicza 116/9', 'm. Wrocław', 'wrocławskie', 'dolnośląskie', '(71) 328 38 08|601 702 406', '', '', '', '', 'Przedsiębiorstwo prywatne', 'Własność prywatna', '', '', '28', '', '', '', 'Zarząd', 'Pan Wiesław Tasarz', '', '', '', '', '', '1', '0,00', '0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''); INSERT INTO firm (`ID`, `nazaw1`, `nazwa2`, `kod`, `miasto`, `skrytkaul`, `powiat`, `bylewoj`, `woj`, `tel`, `fax`, `telfax`, `homep`, `mail`, `forpraw`, `forwla`, `nip`, `rokzal`, `wyr1`, `pozostale`, `bank`, `nrbank`, `stglmen`, `glmen`, `finansest`, `mendsfin`, `technikast`, `mendstech`, `sprzedazst`, `ostzatrudnienie`, `ostobrut`, `kapital`, `nieruchwm2`, `ilostarob`, `komputery`, `import`, `eksport`, `mendsjak`, `jakoscst`, `mendspro`, `produkcjast`, `mendsinfo`, `informatykast`, `mendszaop`, `zaopatrzeniest`, `mendsbadroz`, `badaniast`, `mendskadrszkol`, `kadryst`, `mendsmark`, `marketingst`, `mendspromrekl`, `prorekst`, `mendssprz`) VALUES ('243', 'ABC SILIKON', '', '03-994', 'WARSZAWA', 'ul. Wał Miedzeszyński 379', 'warszawski', 'warszawskie', 'mazowieckie', '(22) 616 19 45', '(22) 617 76 65', '', '', 'mailto:justyna@warszawa.home.pl', 'Przedsiębiorstwo prywatne', 'Własność prywatna', '1130544609', '', '25', '295610', '', '', 'Prezes', 'Pan Wojciech Szymski', '', '', '', '', '', '10', '0,00', '0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '');
Wstawiam do phpmyadmin i wyszło:
Cytat
Błąd
zapytanie SQL:
INSERT INTO firm( `ID` , `nazaw1` , `nazwa2` , `kod` , `miasto` , `skrytkaul` , `powiat` , `bylewoj` , `woj` , `tel` , `fax` , `telfax` , `homep` , `mail` , `forpraw` , `forwla` , `nip` , `rokzal` , `wyr1` , `pozostale` , `bank` , `nrbank` , `stglmen` , `glmen` , `finansest` , `mendsfin` , `technikast` , `mendstech` , `sprzedazst` , `ostzatrudnienie` , `ostobrut` , `kapital` , `nieruchwm2` , `ilostarob` , `komputery` , `import` , `eksport` , `mendsjak` , `jakoscst` , `mendspro` , `produkcjast` , `mendsinfo` , `informatykast` , `mendszaop` , `zaopatrzeniest` , `mendsbadroz` , `badaniast` , `mendskadrszkol` , `kadryst` , `mendsmark` , `marketingst` , `mendspromrekl` , `prorekst` , `mendssprz` )
VALUES (
'242', 'ABC SERWIS Wiesław Tasarz', '', '50-347', 'WROCŁAW', 'ul. Sienkiewicza 116/9', 'm. Wrocław', 'wrocławskie', 'dolnośląskie', '(71) 328 38 08|601 702 406', '', '', '', '', 'Przedsiębiorstwo prywatne', 'Własność prywatna', '', '', '28', '', '', '', 'Zarząd', 'Pan Wiesław Tasarz', '', '', '', '', '', '1', '0,00', '0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''
);
MySQL zwrócił komunikat:
#1136 - Column count doesn't match value count at row 1
zapytanie SQL:
INSERT INTO firm( `ID` , `nazaw1` , `nazwa2` , `kod` , `miasto` , `skrytkaul` , `powiat` , `bylewoj` , `woj` , `tel` , `fax` , `telfax` , `homep` , `mail` , `forpraw` , `forwla` , `nip` , `rokzal` , `wyr1` , `pozostale` , `bank` , `nrbank` , `stglmen` , `glmen` , `finansest` , `mendsfin` , `technikast` , `mendstech` , `sprzedazst` , `ostzatrudnienie` , `ostobrut` , `kapital` , `nieruchwm2` , `ilostarob` , `komputery` , `import` , `eksport` , `mendsjak` , `jakoscst` , `mendspro` , `produkcjast` , `mendsinfo` , `informatykast` , `mendszaop` , `zaopatrzeniest` , `mendsbadroz` , `badaniast` , `mendskadrszkol` , `kadryst` , `mendsmark` , `marketingst` , `mendspromrekl` , `prorekst` , `mendssprz` )
VALUES (
'242', 'ABC SERWIS Wiesław Tasarz', '', '50-347', 'WROCŁAW', 'ul. Sienkiewicza 116/9', 'm. Wrocław', 'wrocławskie', 'dolnośląskie', '(71) 328 38 08|601 702 406', '', '', '', '', 'Przedsiębiorstwo prywatne', 'Własność prywatna', '', '', '28', '', '', '', 'Zarząd', 'Pan Wiesław Tasarz', '', '', '', '', '', '1', '0,00', '0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''
);
MySQL zwrócił komunikat:
#1136 - Column count doesn't match value count at row 1
Dacie rade
