Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z wczytaniem tabeli
szymekq1
post 9.12.2020, 18:01:08
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.12.2020

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


Witam, mam do zrobienia tabele
Wgrałem plik tekstowy z danymi przez WinSCP na serwer
w putty utworzylem tabele
Jednakże gdy chce wczytac dane z tabeli wyskakuje bład
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 'F14/2004', '2004-02-10', '971-13-24-919', 'gotowka'),
('F14/2006', '2006-02-06',' at line 113

kod: CREATE TABLE SZ_faktury (NrFaktury CHAR(100), DataFaktury CHAR(50), NIP CHAR(20), SposobPlatnosci CHAR(50));
i tabela sie robi, ale jest pusta, gdy chce wczytac dane wpisujac komende SOURCE SZ_faktury.txt
wyskakuje powyższy błąd.

a tu fragment pliku tekstowego z którego dane chce wczytać

CREATE TABLE SZ_faktury (NrFaktury CHAR(100), DataFaktury CHAR(50), NIP CHAR(20), SposobPlatnosci CHAR(50));

INSERT INTO SZ_faktury VALUES
('F1/2003', '2003-01-01', '558-73-64-209', 'gotowka'),
('F1/2004', '2004-01-02', '474-629-76-54', 'przelew'),
('F1/2006', '2006-01-01', '145-79-24-386', 'przelew'),
('F1/2007', '2007-01-02', '917-93-55-122', 'gotowka'),
('F1/2008', '2008-01-01', '723-509-78-35', 'gotowka'),
('F10/2004', '2004-01-19', '378-92-95-517', 'gotowka'),
('F10/2006', '2006-01-31', '791-96-23-410', 'gotowka'),
('F10/2007', '2007-02-14', '591-412-99-58', 'karta'),
('F10/2008', '2008-01-15', '624-526-79-48', 'gotowka'),
('F100/2003', '2003-03-25', '704-42-92-277', 'przelew'),
('F100/2004', '2004-08-06', '304-95-25-513', 'gotowka'),
('F100/2006', '2006-12-19', '303-15-12-641', 'gotowka'),
('F100/2008', '2008-12-27', '878-54-69-780', 'przelew'),
('F101/2003', '2003-03-25', '112-417-55-14', 'gotowka'),
('F101/2004', '2004-08-18', '409-388-54-63', 'przelew'),
('F101/2006', '2006-12-21', '522-314-38-51', 'przelew'),
('F102/2003', '2003-03-25', '813-76-70-187', 'przelew'),


Prosze o pomoc....
Go to the top of the page
+Quote Post
nospor
post 9.12.2020, 18:04:13
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




pokaz kod z okolic
'F14/2004', '2004-02-10', '971-13-24-919', 'gotowka')


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
szymekq1
post 9.12.2020, 18:08:29
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.12.2020

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


('F138/2004', '2004-10-15', '123-51-32-945', 'gotowka'),
('F139/2003', '2003-04-28', '152-12-86-206', 'gotowka'),
('F139/2004', '2004-10-18', '518-954-46-72', 'przelew'),
('F14/2003', '2003-01-11', '317-89-45-89', 'karta),
('F14/2004', '2004-02-10', '971-13-24-919', 'gotowka'),
('F14/2006', '2006-02-06', '334-724-76-88', 'przelew'),
('F14/2007', '2007-02-19', '907-75-48-103', 'gotowka'),
('F14/2008', '2008-01-26', '374-66-92-739', 'gotowka'),
('F140/2003', '2003-04-28', '917-93-55-122', 'gotowka'),


Usuwałem fragmenty który występowały w błędzie, A czy to możliwe że bład ten wyskakuje gdy dane się powtarzaja?
Go to the top of the page
+Quote Post
viking
post 9.12.2020, 18:46:13
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


('F14/2003', '2003-01-11', '317-89-45-89', 'karta),
czego brakuje po karta?


--------------------
Go to the top of the page
+Quote Post
szymekq1
post 9.12.2020, 19:04:11
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.12.2020

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


Usunałem tabele i zrobilem jeszcze raz z kodem CREATE TABLE SZ_faktury (NrFaktury VARCHAR(15),DataFaktury DATE,NIP CHAR(13),SposobPlatnosci VARCHAR(10));
który polecil mi kolega(u niego działa)

bład ten sam tylko dotyczy innej linijki, bo
ERROR 1050 (42S01): Table 'SZ_faktury' already exists
ERROR 1064 (42000): 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 'faktury (NrFaktury, DataFaktury, NIP, SposobPlatnosci)
('F1/2003', '2003-01-01'' at line 3
Go to the top of the page
+Quote Post
trueblue
post 9.12.2020, 19:33:51
Post #6





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Skoro tworzysz tabelę ręcznie, to nie jest potrzebne zapytanie CREATE TABLE w pliku.
Albo to, albo to.


--------------------
Go to the top of the page
+Quote Post
szymekq1
post 10.12.2020, 14:00:00
Post #7





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.12.2020

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


Pozostałe tabele udało sie utworzyc bez problemu w ten sposob, tu ciagle jest blad...
Go to the top of the page
+Quote Post
trueblue
post 10.12.2020, 14:04:46
Post #8





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Dlatego też piszę, że niepotrzebnie w pliku używasz CREATE TABLE.
W pierwszym poście napisałeś, że tworzysz tabelę poprzez CREATE TABLE, po czym pokazałeś początkowy fragment pliku, gdzie również jest polecenie CREATE TABLE.
Jeśli tworzysz tabelę i jest utworzona, to drugi raz nie można wykonać polecenia tworzenia tej samej tabeli (bo już istnieje).
Albo nie twórz ręcznie tabeli, albo usuń wpis CREATE TABLE z pliku, który ładujesz poprzez komendę source.
Możesz też użyć: CREATE TABLE IF NOT EXISTS SZ_faktury ...

W przypadku innych tabel robisz to widocznie w inny sposób.


--------------------
Go to the top of the page
+Quote Post
szymekq1
post 10.12.2020, 14:16:43
Post #9





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.12.2020

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


ERROR 1064 (42000): 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 ''F1/2003', '2003-01-01', '558-73-64-209', 'gotowka'),
('F1/2004', '2004-01-02', ' at line 1

Czego bym nie próbował to zawsze wyskakuje taki bład po poleceniu SOURCE. Moze coś CHAR LUB VARCHAR jest nie tak, ale innym te same polecenia których ja próbuje działaja....
Go to the top of the page
+Quote Post
trueblue
post 10.12.2020, 14:24:19
Post #10





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Pokaż plik od początku do F1/2006.


--------------------
Go to the top of the page
+Quote Post
szymekq1
post 10.12.2020, 14:27:52
Post #11





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.12.2020

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


SZ_faktury (NrFaktury VARCHAR(15),DataFaktury DATE,NIP CHAR(13),SposobPlatnosci VARCHAR(10));
INSERT INTO SZ_faktury VALUES
('F1/2003', '2003-01-01', '558-73-64-209', 'gotowka'),
('F1/2004', '2004-01-02', '474-629-76-54', 'przelew'),
('F1/2006', '2006-01-01', '145-79-24-386', 'przelew'),

gdy usunę z pliku linijkę z błędem to po ponownej próbie wyskakuje mi bład z inną linijką i tak w kólłko
Go to the top of the page
+Quote Post
trueblue
post 10.12.2020, 14:32:10
Post #12





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Ale przecież fragment: SZ_faktury (NrFaktury VARCHAR(15),DataFaktury DATE,NIP CHAR(13),SposobPlatnosci VARCHAR(10));
tworzy całość z CREATE TABLE. Nie możesz usunąć ot tak samego CREATE TABLE i zostawić resztę.
Plik ma zaczynać się od INSERT INTO, albo od CREATE TABLE jeśli nie będziesz tworzył tabeli ręcznie. Albo tak ja również Ci sugerowałem od CREATE TABLE IF NOT EXISTS.

Poczytaj trochę podstawy SQL, niekoniecznie MySQL.


--------------------
Go to the top of the page
+Quote Post
szymekq1
post 10.12.2020, 14:37:46
Post #13





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.12.2020

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


Probowane nie działa... a jest możliwosć że inna tabela została zle wykonana która zawiera takie same dane i przez to wyskakuje bład przy próbie wczytania tej tabeli?
Go to the top of the page
+Quote Post
trueblue
post 10.12.2020, 14:39:37
Post #14





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Nie wiem jaki aktualnie błąd otrzymujesz i jak wygląda plik po zmianach.


--------------------
Go to the top of the page
+Quote Post
szymekq1
post 10.12.2020, 14:43:57
Post #15





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.12.2020

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


Usunałem poprzednia tabele poleceniem DROP TABLE.
Początek pliku wygląda tak:
CREATE TABLE SZ_faktury (NrFaktury VARCHAR(15),DataFaktury DATE,NIP CHAR(13),SposobPlatnosci VARCHAR(10));
INSERT INTO SZ_faktury VALUES
('F1/2003', '2003-01-01', '558-73-64-209', 'gotowka'),
('F1/2004', '2004-01-02', '474-629-76-54', 'przelew'),
('F1/2006', '2006-01-01', '145-79-24-386', 'przelew'),
('F1/2007', '2007-01-02', '917-93-55-122', 'gotowka'),
('F1/2008', '2008-01-01', '723-509-78-35', 'gotowka'),
('F10/2004', '2004-01-19', '378-92-95-517', 'gotowka'),
('F10/2006', '2006-01-31', '791-96-23-410', 'gotowka'),
('F10/2007', '2007-02-14', '591-412-99-58', 'karta'),
('F10/2008', '2008-01-15', '624-526-79-48', 'gotowka'),
('F100/2003', '2003-03-25', '704-42-92-277', 'przelew'),
('F100/2004', '2004-08-06', '304-95-25-513', 'gotowka'),

w putty wpisuje jedynie SOURCE SZ_faktury.txt;

no i jak zwykle bład
ERROR 1064 (42000): 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 'F14/2004', '2004-02-10', '971-13-24-919', 'gotowka'),
('F14/2006', '2006-02-06',' at line 113
Go to the top of the page
+Quote Post
trueblue
post 10.12.2020, 14:52:20
Post #16





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Pokaż fragment z F14/2004 i dwa rekordy przed oraz po.


--------------------
Go to the top of the page
+Quote Post
szymekq1
post 10.12.2020, 14:54:42
Post #17





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.12.2020

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





('F139/2004', '2004-10-18', '518-954-46-72', 'przelew'),
('F14/2003', '2003-01-11', '317-89-45-89', 'karta),
('F14/2004', '2004-02-10', '971-13-24-919', 'gotowka'),
('F14/2006', '2006-02-06', '334-724-76-88', 'przelew'),
('F14/2007', '2007-02-19', '907-75-48-103', 'gotowka'),
Go to the top of the page
+Quote Post
trueblue
post 10.12.2020, 15:00:37
Post #18





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

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


Znów brak ' za karta.
Jak jest sens poświęcać Ci czas?


--------------------
Go to the top of the page
+Quote Post
szymekq1
post 10.12.2020, 15:03:57
Post #19





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 9.12.2020

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


O jej... przepraszam za moje niedopatrzenie, poprawione i w koncu działa.... Dziekuje bardzo za chęć pomocy i za cierpliwość do mnie. Wszystkiego dobrego.
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: 29.03.2024 - 08:46