Gdzie są tabele wszystkich błędów?
Jarosław Ziółkowski - 03-01-2007 00:24
Gdzie są tabele wszystkich błędów?
Witam tworzę jak mi się wydawało prostą bazę. Potrzebuję kaskadowego usuwania więch chciałem wykorzystać typ InnoDB. Domyślnym typem dla bazy z której korzystam jest MyISAM.
Mam kod:
CREATE TABLE Uzytkownicy( IdentyfikatorUzytkownika INT PRIMARY KEY auto_increment, NazwaUzytkownika varchar(32) not null unique, HasloUzytkownika varchar(32) not null, StatusAdministratora tinyint(1) not null default 0, AktywnoscUzytkownika tinyint(1) not null default 1, DataRejestracji date, DataOstatniegoLogowania datetime )Type=InnoDB;
CREATE TABLE Autorzy( IdentyfikatorAutora bigint(20) PRIMARY KEY auto_increment, ImieAutora varchar(50) not null, NazwiskoAutora varchar(50) not null, BiografiaAutora text, AktywnoscAutora tinyint(1) default 1, IdentyfikatorUzytkownika int, DataDodaniaAutora date not null, CONSTRAINT klucz_obcy FOREIGN KEY(IdentyfikatorUzytkownika) REFERENCES Uzytkownicy(IdentyfikatorUzytkownika), CONSTRAINT unikalny UNIQUE(ImieAutora, NazwiskoAutora) )Type=InnoDB;
CREATE TABLE Utwory( IdentyfikatorUtwory bigint(20) PRIMARY KEY auto_increment, IdentyfikatorAutora bigint(20) not null, TytulUtworu varchar(150) not null, TrescUtworu text, AktywnoscUtworu tinyint(1) default 1, IdentyfikatorUzytkownika int not null, DataDodaniaUtworu date, CONSTRAINT klucz_obcy FOREIGN KEY (IdentyfikatorUzytkownika) REFERENCES Uzytkownicy(IdentyfikatorUzytkownika), CONSTRAINT unikalny UNIQUE(IdentyfikatorAutora, TytulUtworu), CONSTRAINT klucz_obcy_autor FOREIGN KEY (IdentyfikatorAutora) REFERENCES Autorzy(IdentyfikatorAutora) ON DELETE CASCADE )Type=InnoDB;
Pierwsze dwie tabele są zakładane a w "Utwory" wywala błąd:
1005 no i znalazłem w dokumentacji że nie może stworzyć tabeli. Jednak jest też informacja (errno 121) i informacji odnośnie tego błędu nie udało mi się już wyszukać.
Moje pytanie czy wie ktoś co oznacza ten błąd, ale bardzo interesuje mnie źródło z wyjaśnieniami wszystkich tych kodów bo to by bardzo ułatwiło życie.
P.s. http://dev.mysql.com/doc/refman/5.1/...es-client.html http://dev.mysql.com/doc/refman/5.1/...es-server.html
do tych spisów oczywiście dotarłem ale one odpowiedziały mi tylko na pytanie dotyczące błędu 1005 i to nie zbyt zadowalająco. Chyba że ja czegoś nie zrozumiałem i można z silnika poleceniem jakimś to wygrzebać, ale mi się nie udało.
Pozdrawiam
Jarosław Ziółkowski - 03-01-2007 00:24
[MySQL 5.1] Gdzie są tabele wszystkich błędów?
Poprawiam tylko temat, bo chyba mam noworoczne zaćmienie i nie podałem w ógóle o jaką bazę chodzi. MySQL 5.1 oczywiście.
Jarosław Ziółkowski - 03-01-2007 00:24
Jarosław Ziółkowski napisał(a): > Witam tworzę jak mi się wydawało prostą bazę. Potrzebuję kaskadowego > usuwania więch chciałem wykorzystać typ InnoDB. Domyślnym typem dla bazy > z której korzystam jest MyISAM. > > Mam kod: > > CREATE TABLE Uzytkownicy( > IdentyfikatorUzytkownika INT PRIMARY KEY auto_increment, > NazwaUzytkownika varchar(32) not null unique, > HasloUzytkownika varchar(32) not null, > StatusAdministratora tinyint(1) not null default 0, > AktywnoscUzytkownika tinyint(1) not null default 1, > DataRejestracji date, > DataOstatniegoLogowania datetime > )Type=InnoDB; > > CREATE TABLE Autorzy( > IdentyfikatorAutora bigint(20) PRIMARY KEY auto_increment, > ImieAutora varchar(50) not null, > NazwiskoAutora varchar(50) not null, > BiografiaAutora text, > AktywnoscAutora tinyint(1) default 1, > IdentyfikatorUzytkownika int, > DataDodaniaAutora date not null, > CONSTRAINT klucz_obcy FOREIGN KEY(IdentyfikatorUzytkownika) REFERENCES > Uzytkownicy(IdentyfikatorUzytkownika), > CONSTRAINT unikalny UNIQUE(ImieAutora, NazwiskoAutora) > )Type=InnoDB; > > CREATE TABLE Utwory( > IdentyfikatorUtwory bigint(20) PRIMARY KEY auto_increment, > IdentyfikatorAutora bigint(20) not null, > TytulUtworu varchar(150) not null, > TrescUtworu text, > AktywnoscUtworu tinyint(1) default 1, > IdentyfikatorUzytkownika int not null, > DataDodaniaUtworu date, > CONSTRAINT klucz_obcy FOREIGN KEY (IdentyfikatorUzytkownika) REFERENCES > Uzytkownicy(IdentyfikatorUzytkownika), > CONSTRAINT unikalny UNIQUE(IdentyfikatorAutora, TytulUtworu), > CONSTRAINT klucz_obcy_autor FOREIGN KEY (IdentyfikatorAutora) REFERENCES > Autorzy(IdentyfikatorAutora) ON DELETE CASCADE > )Type=InnoDB; > > Pierwsze dwie tabele są zakładane a w "Utwory" wywala błąd: > > 1005 no i znalazłem w dokumentacji że nie może stworzyć tabeli. Jednak > jest też informacja (errno 121) i informacji odnośnie tego błędu nie > udało mi się już wyszukać. > > Moje pytanie czy wie ktoś co oznacza ten błąd, ale bardzo interesuje > mnie źródło z wyjaśnieniami wszystkich tych kodów bo to by bardzo > ułatwiło życie. > > P.s. > http://dev.mysql.com/doc/refman/5.1/...es-client.html > http://dev.mysql.com/doc/refman/5.1/...es-server.html > > do tych spisów oczywiście dotarłem ale one odpowiedziały mi tylko na > pytanie dotyczące błędu 1005 i to nie zbyt zadowalająco. Chyba że ja > czegoś nie zrozumiałem i można z silnika poleceniem jakimś to wygrzebać, > ale mi się nie udało. > > Pozdrawiam Niech żyje ślepota, zdublowanie nazw z CONSTRAINT miałem przecież.
Maciek Dobrzanski - 03-01-2007 00:24
"Jarosław Ziółkowski" <ziolkowski_jaroslaw@o2.pl> wrote in message news:endfqp$7eg$1@inews.gazeta.pl...
> Niech żyje ślepota, zdublowanie nazw z CONSTRAINT miałem przecież.
Tak na przyszłość to zawsze warto zaglądnąć do SHOW ENGINE INNODB STATUS, skoro z InnoDB korzystasz. Wszelakie błędy silnika znajdziesz tam ładnie wymienione, niejednokrotnie opisane ze szczegółami i ze zrzutem feralnego zapytania lub zawartości rekordu w HEX/ASCII. Możesz to sprawdzić na przykładzie swojego problemu.
Maciek
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
gdzie tutorial do filtru- Transformacje 3d (3d Transform)?
Gdzie =?iso-8859-2?Q?postawi=E6_aplikacje_MySQL=3F_w_domu=3F_w?==?i so-8859-2?Q?_firmie_hostingowej=3F?=
=?iso-8859-2?q?gdzie_naprawi=E6_tablet_wacoma=3F=3F=3F=3F?=
gdzie =?ISO-8859-2?Q?zrobi=E6_cromalin_w_Warszawie_w_s?==?ISO-8859-2?Q?obot=EA?=
=?ISO-8859-2?Q?kr=F3tkie_pytanie_-_gdzie_forum_grafik=F3?==?ISO-8859-2?Q?w_=28Corel_Painter=29_=3F?=
[PostgreSQL 8.1] DROP ROLE, gdzie =?ISO-8859-2?Q?si=EA_podzia=B3?==?ISO-8859-2?Q?o_CASCADE?=
=?iso-8859-2?q?Gdzie_mo=BFna_kupi=E6_starego_Corel_Draw_9=3F? =
Re: Gdzie mozna jeszcze kupic Microsoft SQL 2000 Enterprise Edition??
gdzie =?ISO-8859-2?Q?umieszcza=E6_obrazki=2C_zdj=EAcia=3F?=
program power point
zanotowane.pldoc.pisz.plpdf.pisz.plets2.xlx.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 |
|