Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wpisywanie danych do tabeli, MySQL
syksyk
post 2.02.2007, 00:07:01
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.02.2007

Ostrzeżenie: (0%)
-----


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

Ten post edytował syksyk 2.02.2007, 00:40:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Cienki1980
post 2.02.2007, 00:14:32
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


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 " )


--------------------
404
Go to the top of the page
+Quote Post
syksyk
post 2.02.2007, 00:32:59
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.02.2007

Ostrzeżenie: (0%)
-----


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

Ten post edytował syksyk 2.02.2007, 00:34:01
Go to the top of the page
+Quote Post
mokry
post 2.02.2007, 02:36:55
Post #4





Grupa: Zarejestrowani
Postów: 374
Pomógł: 23
Dołączył: 3.06.2006
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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 :/


--------------------
Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
Go to the top of the page
+Quote Post
strife
post 2.02.2007, 04:09:32
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

Ostrzeżenie: (0%)
-----


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!


--------------------
Go to the top of the page
+Quote Post
syksyk
post 2.02.2007, 11:10:29
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 1.02.2007

Ostrzeżenie: (0%)
-----


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:


Ten post edytował syksyk 2.02.2007, 11:11:14
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 25.07.2025 - 07:57