Problem z InnoDB w MySQL
pikus - 27-06-2007 00:03
Problem z InnoDB w MySQL
Witam
Mam standardową instalację MySQL-a w wersji 4.0.15a. Ponoć od wersji 4.0 MySQL obsługuje typy InnoDB. Próbowałem skreować sobie tabelę:
CREATE TABLE TYP ( typ_id INT NOT NULL AUTO_INCREMENT, nazwa ENUM ('LIMUZYNA','KOMBI','VAN','CIEZAROWY','CABRIO','PI CKUP'), CONSTRAINT typ_id_pk PRIMARY KEY (typ_id) ) ENGINE = InnoDB;
no i wywala się na ostatniej linii, czyli na ustawieniu trybu InnoDB:
ERROR 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 'man create' at line 1
Jak można się domyślić man create nic mi nie daje. Stąd moje pytanie: czy MySQL musi być skompilowany z jakąś opcją żeby obsługiwał InnoDB czy problem leży gdzie indziej?
Pozdrawiam: Pikus
=?iso-8859-2?q?Bart=B3omiej_Syryjczyk?= - 27-06-2007 00:04
On 26 Cze, 07:11, "pikus" <kapis...@NOSPAMgazeta.pl> wrote: > Witam > > Mam standardową instalację MySQL-a w wersji 4.0.15a. Cóż to za dystrybucja ma taką 'standardową' wersję MySQL?
> Ponoć od wersji > 4.0 MySQL obsługuje typy InnoDB. Owszem, http://dev.mysql.com/doc/refman/4.1/...-overview.html
> Próbowałem skreować sobie tabelę: Co zrobić??
> CREATE TABLE TYP > ( > typ_id INT NOT NULL AUTO_INCREMENT, > nazwa ENUM ('LIMUZYNA','KOMBI','VAN','CIEZAROWY','CABRIO','PI CKUP'), > CONSTRAINT typ_id_pk PRIMARY KEY (typ_id) > ) > ENGINE = InnoDB; > > no i wywala się na ostatniej linii, czyli na ustawieniu trybu InnoDB: > > ERROR 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 'man create' at line 1 > > Jak można się domyślić man create nic mi nie daje. man create w systemie czy jako zapytanie do bazy ;-)
> Stąd moje pytanie: > czy MySQL musi być skompilowany z jakąś opcją żeby obsługiwał InnoDB Tak
> czy problem leży gdzie indziej? Gdzie indziej. Błąd jest nie do tego zapytania. No chyba, że gdzieś przegapiłem to 'man create' :-)
-- guzik
pikus - 27-06-2007 00:04
Bartłomiej Syryjczyk wrote: > On 26 Cze, 07:11, "pikus" <kapis...@NOSPAMgazeta.pl> wrote: >> Witam >> >> Mam standardową instalację MySQL-a w wersji 4.0.15a. > Cóż to za dystrybucja ma taką 'standardową' wersję MySQL? > >> Ponoć od wersji >> 4.0 MySQL obsługuje typy InnoDB. > Owszem, http://dev.mysql.com/doc/refman/4.1/...-overview.html
Bardzo mnie to cieszy :)
>> Próbowałem skreować sobie tabelę: > Co zrobić??
Stworzyć, skoro słowo 'kreowanie' jest za trudne
>> CREATE TABLE TYP >> ( >> typ_id INT NOT NULL AUTO_INCREMENT, >> nazwa ENUM >> ('LIMUZYNA','KOMBI','VAN','CIEZAROWY','CABRIO','PI CKUP'), >> CONSTRAINT typ_id_pk PRIMARY KEY (typ_id) ) >> ENGINE = InnoDB; >> >> no i wywala się na ostatniej linii, czyli na ustawieniu trybu InnoDB: >> >> ERROR 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 'man create' at line 1 >> >> Jak można się domyślić man create nic mi nie daje. > man create w systemie czy jako zapytanie do bazy ;-)
A które u Ciebie daje pożądany efekt? Chętnie skorzystam.
>> Stąd moje pytanie: >> czy MySQL musi być skompilowany z jakąś opcją żeby obsługiwał InnoDB > Tak
Mam nadzieję, że takie coś wystarczy?
070626 08:34:04 mysqld started 070626 8:34:04 InnoDB: Started /usr/libexec/mysqld: ready for connections. Version: '4.0.15a' socket: '/var/run/mysql/mysql.sock' port: 3306
>> czy problem leży gdzie indziej? > Gdzie indziej. > Błąd jest nie do tego zapytania.
To nie jest zapytanie. Jak widać. Błąd jest w momencie tworzenia tabeli. Zarówno przy wczytywaniu skryptu poprzez 'source' jak i przy tworzeniu tabeli 'z palca'. Przy wpisywaniu linii: Engine = InnoDB; wywala komunikat który podałem.
> No chyba, że gdzieś przegapiłem to > 'man create' :-)
Może przegapiłeś :)
Ktoś ma jakieś sugestie? Może składnia jest niepoprawna (tak tworzyłem w MySQL pod Windows i było ok)?
Pozdrawiam: Pikus
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 27-06-2007 00:04
pikus wrote: >> No chyba, że gdzieś przegapiłem to >> 'man create' :-) > > Może przegapiłeś :)
ERROR 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 'man create' at line 1
Ten błąd mówi, że masz gdzieś w swoim zapytaniu ciąg znaków 'man create'. Takiego ciągu w zapytaniu które podałeś nie ma. Podaj błąd, który tyczy się tego zapytania, albo szukaj błędu w innym miejscu w swoim skrypcie.
-- P.M.
Rafal sxat - 27-06-2007 00:04
CREATE TABLE TYP ( typ_id INT NOT NULL AUTO_INCREMENT, nazwa ENUM ('LIMUZYNA','KOMBI','VAN','CIEZAROWY','CABRIO','PI CKUP'), CONSTRAINT typ_id_pk PRIMARY KEY (typ_id) ) ENGINE = InnoDB;
>
> no i wywala się na ostatniej linii, czyli na ustawieniu trybu InnoDB:
mysql> show variables like "have_innodb";
pozdrawiam RAfal sxat
-- Archiwum grupy: http://niusy.onet.pl/pl.comp.bazy-danych
pikus - 28-06-2007 00:01
Rafal sxat wrote: > CREATE TABLE TYP > ( > typ_id INT NOT NULL AUTO_INCREMENT, > nazwa ENUM ('LIMUZYNA','KOMBI','VAN','CIEZAROWY','CABRIO','PI CKUP'), > CONSTRAINT typ_id_pk PRIMARY KEY (typ_id) > ) > ENGINE = InnoDB; > >> > >> no i wywala się na ostatniej linii, czyli na ustawieniu trybu InnoDB: > > mysql> show variables like "have_innodb";
Ustawione na YES :) Najciekawsze, że ten sam skrypt na drugim serwerze z tą samą wersją wczytuje się bez problemu i tworzy bazę. Postawiłem wersję 4.0.27 - jest ok. Nie skąd się brał problem. Dzięki wszystkim za pomoc.
Pozdrawiam: Pikus
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.plown-team.pev.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|