pumbosha
12.02.2009, 13:40:38
Mam taki problem, od razu zaznaczę, że zacząłem się uczyć mysql z tydzien temu. W książce którą czytam dotarłem do rozdziału o tworzeniu tabel i wczytywaniu tabel z pliku sql. Plik ten dołączony jest do przykładów książki. I teraz napisane jest tam ,że aby tenże plik (w którym tworzone są nowe tabele) został 'wykonany' i dołączony do nowo utworzonej przeze mnie bazy należy wpisać coś takiego :
Kod
mysql -h nazwa_kompa -u nazwa_usera -D nazwa_bazy -p < plik.sql
Po wpisaniu tego monit mysql wywala mi błąd w składni. Byłbym wdzięczny jakby mi ktoś pomógł, najlepiej opisał od A do Z jak dołączyć gotowy plik sql do bazy. Szukam już 2. dzień i nie mogę nigdzie znaleźć czegoś co rozwiało by mój problem... z góry dzięki..
nospor
12.02.2009, 13:41:44
Cytat
mysql wywala mi błąd w składni
Pierwsza i jedna z wazniejszych lekcji na tym forum:
Jak cos wywala blad to nalezy ten blad nam dokladnie pokazac
pumbosha
12.02.2009, 14:44:53
ok błąd brzmi:
ERROR 1064 <42000>: You have an error in your sql syntax; check the manual that corresponds to your MySql server version for right syntax to use near 'mysql -h timi -u timi -D baza -p <ksiazkorama.sql' at line 1
erix
12.02.2009, 15:07:09
Chyba masz coś za dużo w pliku do importu.
pumbosha
12.02.2009, 16:07:32
yyyy, no jak już wspomniałem uczę się mysql parę dni więc nie bardzo wiem o co chodzi z plikiem importu, mimo wszystko dzięki za próbę pomocy...pzdr
erix
12.02.2009, 16:16:34
Z treści błędu wynika, iż masz wpisane polecenie importujące w pliku, w którym znajdują się dane.
A tego polecenia ma tam nie być; tylko i wyłącznie zapytania SQL.
pumbosha
12.02.2009, 16:57:56
plik ksiazkorama.sql, który próbuję dołączyć jest wzięty żywcem z książki, więc wątpię żeby w nim było coś nie tak. Wygląda on tak:
create table klienci
( klientid int unsigned not null auto_increment primary key,
nazwisko char(50) not null,
adres char(100) not null,
miejscowosc char(30) not null
);
create table zamowienia
( zamowienieid int unsigned not null auto_increment primary key,
klientid int unsigned not null,
wartosc float(6,2),
data date not null
);
create table ksiazki
( isbn char(13) not null primary key,
autor char(50),
tytul char(100),
cena float(4,2)
);
create table pozycje_zamowione
( zamowienieid int unsigned not null,
isbn char(13) not null,
ilosc tinyint unsigned,
primary key (zamowienieid, isbn)
);
create table recenzje_ksiazek
( isbn char(13) not null primary key,
recenzja text
);
erix
13.02.2009, 11:25:47
Ach, już wiem:
wywołaj polecenie importu z konsoli systemowej, a nie konsoli mysql.
pumbosha
14.02.2009, 19:26:04
tak też próbowałem i nic... A może po prostu powiedzcie mi (jeśli to możliwe) czy i w jaki sposób wy dołączacie gotowy plik sql do bazy danych i czy na dłuższą metę można obejść się bez tej umiejętności...pzdr
erix
14.02.2009, 20:24:06
Cytat
tak też próbowałem i nic...
Jeśli wywala ten sam błąd, to znaczy, że źle próbowałeś.

Cytat
i w jaki sposób wy dołączacie gotowy plik sql do bazy danych
Jeśli jest dostęp do shella, to właśnie przez polecenie
mysql. Jeśli nie, to zazwyczaj phpMyAdmin.