Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z importem danych
Forum PHP.pl > Forum > Bazy danych > MySQL
Chrom
Witam,
mam problem z importem danych, mam tabele:

  1. `id` mediumint(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  2. `lokal` tinyint(4) NOT NULL,
  3. `wzstpocz` float(10,3) NOT NULL DEFAULT '0.000',
  4. `wzstkon` float(10,3) NOT NULL DEFAULT '0.000',
  5. `wzzuz` float(10,3) NOT NULL DEFAULT '0.000',
  6. `wcstpocz` float(10,3) NOT NULL DEFAULT '0.000',
  7. `wcstkon` float(10,3) NOT NULL DEFAULT '0.000',
  8. `wczuz` float(10,3) NOT NULL DEFAULT '0.000',
  9. `costpocz` float(10,3) NOT NULL DEFAULT '0.000',
  10. `costkon` float(10,3) NOT NULL DEFAULT '0.000',
  11. `cozuz` float(10,3) NOT NULL DEFAULT '0.000',
  12. `zzimna` float(10,2) NOT NULL DEFAULT '0.00',
  13. `zciepla` float(10,2) NOT NULL DEFAULT '0.00',
  14. `zco` float(10,2) NOT NULL DEFAULT '0.00',
  15. `zstala` float(10,2) NOT NULL DEFAULT '0.00',
  16. `zrazem` float(10,2) NOT NULL DEFAULT '0.00',
  17. `pzimna` float(10,2) NOT NULL DEFAULT '0.00',
  18. `pciepla` float(10,2) NOT NULL DEFAULT '0.00',
  19. `pco` float(10,2) NOT NULL DEFAULT '0.00',
  20. `pstala` float(10,2) NOT NULL DEFAULT '0.00',
  21. `prazem` float(10,2) NOT NULL DEFAULT '0.00',
  22. `roznica` float(10,2) NOT NULL DEFAULT '0.00',
  23. `data` varchar(20) NOT NULL,

i chcę załadować dane z polecenia sql oto fragment:
  1. INSERT INTO `tabela` (`id`,`lokal`,`costpocz`,`costkon`,`cozuz`,`wcstpocz`,`wcstkon`,`wczuz`,`wzstpocz`,`wzstkon`,`wzzuz`,`zco`,`zciepla`,`zstala`,`zzimna`,`zrazem`,`pco`,`pciepla`,`pstala`,`pzimna`,`prazem`,`roznica`,`data`) VALUES
  2. 1, 8.743, 9.793, 1.050, 57.736, 70.770, 13.034, 114.859, 144.218, 29.359, 29.16, 82.90, 90.11, 222.14, 424.31, 47.77, 42.04, 97.52, 76.82, 264.15, 160.16,04-06-2007
  3. 2, 7.977, 8.417, 0.440, 159.309, 176.017, 16.708, 133.920, 151.649, 17.729, 12.22, 106.26, 107.48, 180.45, 406.41, 70.54, 136.95, 116.31, 160.54, 484.34, -77.93,04-06-2007
  4. 3, 1.409, 1.515, 0.106, 168.709, 182.309, 13.600, 282.625, 308.235, 25.610, 2.94, 86.50, 75.40, 205.46, 370.30, 10.25, 112.07, 81.59, 188.45, 392.36, -22.06,04-06-2007
  5. 4, 1.559, 1.654, 0.095, 79.287, 91.584, 12.297, 103.545, 120.290, 16.745, 2.64, 78.21, 90.18, 152.18, 323.21, 10.90, 80.30, 97.59, 122.62, 311.41, 11.80,04-06-2007
  6. 5, 5.284, 5.674, 0.390, 97.153, 109.729, 12.576, 107.612, 120.160, 12.548, 10.83, 79.99, 106.86, 131.65, 329.33, 68.97, 93.10, 115.64, 123.05, 400.76, -71.43,04-06-2007
  7. 6, 5.509, 6.345, 0.836, 83.413, 89.559, 6.146, 106.268, 115.382, 9.114, 23.21, 39.09, 60.19, 79.96, 202.45, 12.55, 53.85, 65.13, 80.30, 211.83, -9.38,04-06-2007

nie wchodzi jako polecenie zapisałem w pliku i chciałem przez PMA korzystając z LOAD DATA lub z CSV i też nie pozwala może ktoś zauważy błąd.
  1. #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 '06 2007)' at line 2

  1. INSERT INTO `tabela` (`id`, `lokal`, `wzstpocz`, `wzstkon`, `wzzuz`, `wcstpocz`, `wcstkon`, `wczuz`, `costpocz`, `costkon`, `cozuz`, `zzimna`, `zciepla`, `zco`, `zstala`, `zrazem`, `pzimna`, `pciepla`, `pco`, `pstala`, `prazem`, `roznica`, `data`) VALUES
  2. (1, 1,114.859,144.218,29.359,57.736,70.770,13.034,8.743,9.793,1.050,222.14,82.90,29.
  3. 6,90.11,424.31,76.82,42.04,47.77,97.52,264.15,160.16,04062007);
  4. (2,2,133.920,151.649,17.729,159.309,176.017,16.708,7.977,8.417,0.440,180.45,106.
  5. 6,12.22,107.48,406.41,160.54,136.95,70.54,116.31,484.34,-77.93,04062007);
  6. (3,3,282.625,308.235,25.610,168.709,182.309,13.600,1.409,1.515,0.106,205.46,86.5
  7. ,2.94,75.40,370.30,188.45,112.07,10.25,81.59,392.36,-22.06,04062007);

i tak też nic?
php programmer
date 04-06-2007 musisz dawać w apostrofach '04-06-2007'
Chrom
Poprawiłem i pokazał się komunikat
  1. Fatal error: Allowed memory size of 8388608 bytes exhausted (tried TO allocate 473602 bytes) IN Phpmyadmin\libraries\sqlparser.lib.php ON line 331

sam nie wiem może plik za duży? raczej nie 84 rekordy to powinna być pestka

i coś takiego:
  1. zapytanie SQL:
  2.  
  3. ( 2, 2, 133.920, 151.649, 17.729, 159.309, 176.017, 16.708, 7.977, 8.417, 0.440, 180.45, 106.26, 12.22, 107.48, 406.41, 160.54, 136.95, 70.54, 116.31, 484.34, - 77.93, '04-06,2007' ) ;
  4.  
  5. MySQL zwrócił komunikat: Dokumentacja
  6. #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 '2, 2, 133.920, 151.649, 17.729, 159.309, 176.017, 16.708, 7.977, 8.417, 0.440, 1' at line 1
kris2
może nie zwalniasz gdzies zasobow?
masz dwie możliwości. posprzatac w kodzie, albo zwiekszyc ilosc pamieci w php.ini
Chrom
sprawdzałem na serwerach zewnętrznych i na kompie PMA nie potrafi tego przerobić tabel mam wiele z przemieszanymi kolumnami i taka metoda byłaby optymalna ale może ktoś ma skrypt który potrafi załadować dane z zadanymi kolumnami?

Poradziłem sobie można temat zamknąć no nic pól dnia nad średnikiem spędziłem
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-2024 Invision Power Services, Inc.