Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wpisywanie danych do tabeli
Forum PHP.pl > Forum > Przedszkole
syksyk
podczas tworzenia tabeli wyskakuje mi taki oto blad:



ktos wie co powinienem zrobic??
dotyczy to tabeli order (opis tutaj http://lisp.vse.cz/pkdd99/berka.htm )
z 7 pozostalymi tabelami nie bylo zadngo problemu sad.gif
Cienki1980
Zmień nazwę tabeli. ORDER jest w końcu poleceniem MySQL'a więc może mu coś nie pasować. Ewentualnie weź nazwę tabeli wsadź w jakieś ciapki ( ` lub ' lub " )
syksyk
oooo zadzialalo biggrin.gif
no to teraz z innej beczki :]
  1. CREATE TABLE district (
  2. A1 TINYINT UNSIGNED,
  3. A2 CHAR(25) NOT NULL,
  4. A3 CHAR(25) NOT NULL,
  5. A4 MEDIUMINT UNSIGNED NOT NULL,
  6. A5 TINYINT UNSIGNED NOT NULL,
  7. A6 TINYINT UNSIGNED NOT NULL,
  8. A7 TINYINT UNSIGNED NOT NULL,
  9. A8 TINYINT UNSIGNED NOT NULL,
  10. A9 TINYINT UNSIGNED ,
  11. A10 DECIMAL(5,1) NOT NULL,
  12. A11 MEDIUMINT UNSIGNED NOT NULL,
  13. A12 DECIMAL(4,2) NOT NULL ,
  14. A13 DECIMAL(4,2) NOT NULL ,
  15. A14 SMALLINT UNSIGNED NOT NULL ,
  16. A15 MEDIUMINT UNSIGNED ,
  17. A16 MEDIUMINT UNSIGNED NOT NULL,
  18. PRIMARY KEY (A1)
  19. ) ENGINE=INNODB;
  20.  
  21. CREATE TABLE account (
  22. account_id SMALLINT UNSIGNED,
  23. A1 TINYINT UNSIGNED,
  24. INDEX A1(A1),
  25. frequency CHAR(25) NOT NULL,
  26. date integer NOT NULL,
  27. PRIMARY KEY (account_id),
  28. constraint r_o FOREIGN KEY(A1) REFERENCES district(A1) ON UPDATE CASCADE ON DELETE
  29. RESTRICT
  30. ) ENGINE=INNODB;
  31.  
  32. CREATE TABLE client (
  33. client_id SMALLINT UNSIGNED,
  34. birth_number CHAR(6) NOT NULL,
  35. A1 TINYINT UNSIGNED,
  36. INDEX A1(A1),
  37. PRIMARY KEY (client_id) ,
  38. CONSTRAINT k_o FOREIGN KEY(A1) REFERENCES district(A1) ON UPDATE CASCADE ON DELETE
  39. RESTRICT
  40. ) ENGINE=INNODB;
  41.  
  42. CREATE TABLE disp (
  43. disp_id SMALLINT UNSIGNED,
  44. client_id SMALLINT UNSIGNED,
  45. account_id SMALLINT UNSIGNED,
  46. type ENUM('OWNER', 'DISPONENT') NOT NULL,
  47. PRIMARY KEY (disp_id) ,
  48. CONSTRAINT d_r FOREIGN KEY(account_id) REFERENCES account(account_id) ON UPDATE CASCADE ON DELETE
  49. RESTRICT,
  50. CONSTRAINT d_k FOREIGN KEY(client_id) REFERENCES client(client_id) ON UPDATE CASCADE ON DELETE
  51. RESTRICT
  52. ) ENGINE=INNODB;
  53.  
  54. CREATE TABLE card (
  55. card_id SMALLINT UNSIGNED,
  56. disp_id SMALLINT UNSIGNED,
  57. type CHAR(10) NOT NULL,
  58. issued INT UNSIGNED NOT NULL,
  59. PRIMARY KEY (card_id),
  60. CONSTRAINT ka_d FOREIGN KEY(disp_id) REFERENCES disp(disp_id) ON UPDATE CASCADE ON
  61. DELETE RESTRICT
  62. ) ENGINE=INNODB;
  63.  
  64. CREATE TABLE loan (
  65. loan_id SMALLINT UNSIGNED,
  66. account_id SMALLINT UNSIGNED,
  67. date int UNSIGNED NOT NULL,
  68. amount INT UNSIGNED NOT NULL,
  69. duration SMALLINT UNSIGNED NOT NULL,
  70. payments DECIMAL(10,2) NOT NULL,
  71. STATUS CHAR(1) NOT NULL,
  72. PRIMARY KEY (loan_id) ,
  73. CONSTRAINT p_r FOREIGN KEY(account_id) REFERENCES account(account_id) ON UPDATE CASCADE ON DELETE
  74. RESTRICT
  75. ) TYPE=INNODB;
  76.  
  77. CREATE TABLE trans (
  78. trans_id INT UNSIGNED,
  79. account_id SMALLINT UNSIGNED,
  80. date int UNSIGNED NOT NULL,
  81. type CHAR(25) NOT NULL,
  82. operation CHAR(25),
  83. amount DECIMAL(10,2) NOT NULL,
  84. balance DECIMAL(10,2) NOT NULL,
  85. k_symbol CHAR(25) ,
  86. bank CHAR(2) ,
  87. account char(8),
  88. PRIMARY KEY (trans_id) ,
  89. CONSTRAINT t_r FOREIGN KEY(account_id) REFERENCES account(account_id) ON UPDATE CASCADE ON DELETE
  90. RESTRICT
  91. ) TYPE=INNODB;
  92.  
  93. CREATE TABLE order_ (
  94. order_id SMALLINT UNSIGNED,
  95. account_id SMALLINT UNSIGNED,
  96. bank_to CHAR(2) NOT NULL,
  97. account_to int UNSIGNED NOT NULL,
  98. amount DECIMAL(10,2) NOT NULL,
  99. k_symbol CHAR(25) ,
  100. PRIMARY KEY (order_id) ,
  101. CONSTRAINT z_r FOREIGN KEY(account_id) REFERENCES account(account_id) ON UPDATE CASCADE ON DELETE
  102. RESTRICT
  103. ) TYPE=INNODB;


tak stworzylem tabele. i ok jest ich tyle ile ma byc. ale teraz chce te tabele wypelnic danymi ktore mam w pliku *.asc.
wyglada to mniej wiecej tak:
A1;A2;A3;A4;A5;A6;A7;A8;A9;A10;A11;A12;A13;A14;A15;A16
1;"Hl.m. Praha";"Prague";1204953;0;0;0;1;1;100.0;12541;0.29;0.43;167;85677;99107
2;"Benesov";"central Bohemia";88884;80;26;6;2;5;46.7;8507;1.67;1.85;132;2159;2674
3;"Beroun";"central Bohemia";75232;55;26;4;1;5;41.7;8980;1.95;2.21;111;2824;2813
4;"Kladno";"central Bohemia";149893;63;29;6;2;6;67.4;9753;4.64;5.05;109;5244;5892
5;"Kolin";"central Bohemia";95616;65;30;4;1;6;51.4;9307;3.85;4.43;118;2616;3040

to tylko czesc z tego pliku smile.gif
i pytanie: jak te dane tam wpakowac :| ? ? ? sadsmiley02.gif
mokry
Cóż ja bym na Twoim miejscu zrobił sobie małą klasę, która ładowałaby takie pliczki do bazy danych...
Nie jest to trudne, trzeba tylko troszeczkę pobawić się z tablicami winksmiley.jpg

Ew. ręcznie, tylko nie wyobrażam sobie tego przy ilości kilku tysięci wpisów :/
strife
Cytat
tak stworzylem tabele. i ok jest ich tyle ile ma byc. ale teraz chce te tabele wypelnic danymi ktore mam w pliku *.asc.
wyglada to mniej wiecej tak:
A1;A2;A3;A4;A5;A6;A7;A8;A9;A10;A11;A12;A13;A14;A15;A16
1;"Hl.m. Praha";"Prague";1204953;0;0;0;1;1;100.0;12541;0.29;0.43;167;85677;99107
2;"Benesov";"central Bohemia";88884;80;26;6;2;5;46.7;8507;1.67;1.85;132;2159;2674
3;"Beroun";"central Bohemia";75232;55;26;4;1;5;41.7;8980;1.95;2.21;111;2824;2813
4;"Kladno";"central Bohemia";149893;63;29;6;2;6;67.4;9753;4.64;5.05;109;5244;5892
5;"Kolin";"central Bohemia";95616;65;30;4;1;6;51.4;9307;3.85;4.43;118;2616;3040


Poczytaj w manualu o string'ach, m.in przyda Ci się metoda explode" title="Zobacz w manualu php" target="_manual i pochodne. Następnie stwórz sobie jakąś klase/funkcję do dodawania tak przedstawionych danych do bazy.

Pozdrawiam!
syksyk
ok wprowadzile sobie dane za pomoca:
  1. LOAD DATA INFILE 'c:/bank/district.asc' INTO TABLE district FIELDS terminated BY ';'
  2. OPTIONALLY ENCLOSED BY '"' ;
  3.  
  4. LOAD DATA INFILE 'c:/bank/account.asc' INTO TABLE account FIELDS terminated BY ';'
  5. OPTIONALLY ENCLOSED BY '"' ;
  6.  
  7. LOAD DATA INFILE 'c:/bank/client.asc' INTO TABLE client FIELDS terminated BY ';'
  8. OPTIONALLY ENCLOSED BY '"' ;
  9.  
  10. LOAD DATA INFILE 'c:/bank/disp.asc' INTO TABLE disp FIELDS terminated BY
  11. ';'OPTIONALLY ENCLOSED BY '"' LINES Terminated BY '\r\n' ;
  12.  
  13. LOAD DATA INFILE 'c:/bank/order.asc' INTO TABLE order_ FIELDS terminated BY '\;'
  14. OPTIONALLY ENCLOSED BY '"' LINES Terminated BY '\r\n' ;
  15.  
  16. LOAD DATA INFILE 'c:/bank/loan.asc' INTO TABLE loan FIELDS terminated BY '\;'
  17. OPTIONALLY ENCLOSED BY '"' LINES Terminated BY '\r\n' IGNORE 1 LINES;
  18.  
  19. LOAD DATA INFILE 'c:/bank/trans.asc' INTO TABLE trans FIELDS terminated BY '\;'
  20. OPTIONALLY ENCLOSED BY '"' LINES Terminated BY '\r\n' IGNORE 1 LINES ;


i niby wszystko jest ok ale... w jednym pliku mam takie cos:

1005;9285;"classic";931107 00:00:00
104;588;"classic";940119 00:00:00
747;4915;"classic";940205 00:00:00
70;439;"classic";940208 00:00:00
577;3687;"classic";940215 00:00:00
377;2429;"classic";940303 00:00:00
721;4680;"junior";940405 00:00:00
437;2762;"classic";940601 00:00:00
188;1146;"classic";940619 00:00:00

sa to odpowiednio:
"card_id";"disp_id";"type";"issued"
i po wpisaniu:

  1. LOAD DATA INFILE 'c:/bank/card.asc' INTO TABLE card FIELDS terminated BY ';' OPTIONALLY ENCLOSED BY '"' ;


mysql wywala takie cos:
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.