Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> #1005 - Can't create table [...] (errno: 150) problem z kluczami obcymi
Leon Zawodowiec
post 11.09.2009, 19:01:24
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 7.05.2009

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


Witam

Na podstawie tego posta :http://forum.php.pl/index.php?showtopic=22...amp;mode=linear

chcialem dodac klucze obce do swojej bazy. Jednak nie wszystkie tabele moge stworzyc.

Wyswietla mi sie komunikat   #1005 - Can't create table './leonneon_cba_pl/pozycje_zajete.frm' (errno: 150)

a oto konstrukcja bazy:

CREATE TABLE IF NOT EXISTS `filmy` (
`film_id` int(10) unsigned NOT NULL auto_increment,
`rezyser` varchar(30) NOT NULL,
`tytul` varchar(30) NOT NULL,
`gatunek` varchar(30) NOT NULL,
`produkcja` varchar(30) NOT NULL,
`opis` varchar(30) NOT NULL,
`zdiecie` varchar(30) NOT NULL,
`nowosc` varchar(30) NOT NULL,
`archiwum` varchar(30) NOT NULL,
UNIQUE (film_id),
INDEX nowy1 (film_id),
PRIMARY KEY (`film_id`)
) ENGINE=InnoDB ;

CREATE TABLE IF NOT EXISTS `klienci` (
`klient_id` int(10) unsigned NOT NULL auto_increment,
`imie` varchar(30) NOT NULL,
`nazwisko` varchar(30) NOT NULL,
`login` varchar(30) NOT NULL,
`haslo` varchar(30) NOT NULL,
`email` varchar(30) NOT NULL,
`uprawnienia` varchar(30) NOT NULL,
UNIQUE (klient_id),
INDEX nowy2 (klient_id),
PRIMARY KEY (`klient_id`)
) ENGINE=InnoDB ;

CREATE TABLE IF NOT EXISTS `miejsce` (
`miejsce_id` int(10) unsigned NOT NULL auto_increment,
`miejsce_rzad` int(10) unsigned NOT NULL,
`miejsce_numer` int(10) unsigned NOT NULL,
`sala_id` int(11) NOT NULL,
UNIQUE (miejsce_id),
INDEX nowy3 (miejsce_id),
PRIMARY KEY (`miejsce_id`),
INDEX in14 (sala_id),
FOREIGN KEY (sala_id) REFERENCES sale (sala_id) ON DELETE cascade ON UPDATE cascade
) ENGINE=InnoDB ;

CREATE TABLE IF NOT EXISTS `pozycje_zajete` (
`id_pozycji_zajetej` int(10) unsigned NOT NULL auto_increment,
`film_id` int(10) unsigned NOT NULL,
`seans_id` int(10) unsigned NOT NULL,
`miejsce_id` int(11) NOT NULL,
`sala_id` int(11) NOT NULL,
`zaplacono` int(1) NOT NULL,
`data_rezerwacji` varchar(30) NOT NULL,
`normalny` varchar(30) NOT NULL,
`ulgowy` varchar(30) NOT NULL,
`imie` varchar(30) NOT NULL,
`nazwisko` varchar(30) NOT NULL,
`email` varchar(30) NOT NULL,
PRIMARY KEY (`id_pozycji_zajetej`),
UNIQUE (id_pozycji_zajetej),
INDEX nowy4 (id_pozycji_zajetej),
INDEX in1 (film_id),
FOREIGN KEY (film_id) REFERENCES filmy (film_id) ON DELETE cascade ON UPDATE cascade,
INDEX in2 (seans_id),
FOREIGN KEY (seans_id) REFERENCES seanse (seans_id) ON DELETE cascade ON UPDATE cascade,
INDEX in3 (miejsce_id),
FOREIGN KEY (miejsce_id) REFERENCES miejsce (miejsce_id) ON DELETE cascade ON UPDATE cascade,
INDEX in4 (sala_id),
FOREIGN KEY (sala_id) REFERENCES sale (sala_id) ON DELETE cascade ON UPDATE cascade
) ENGINE=InnoDB ;

CREATE TABLE IF NOT EXISTS `recenzje_filmow` (
`film_id` int(10) unsigned NOT NULL,
`recenzja` text,
PRIMARY KEY (`film_id`),
INDEX in5 (film_id),
FOREIGN KEY (film_id) REFERENCES filmy (film_id) ON DELETE cascade ON UPDATE cascade
) ENGINE=InnoDB ;

CREATE TABLE IF NOT EXISTS `sale` (
`sala_id` int(10) unsigned NOT NULL auto_increment,
`sala_nazwa` varchar(50) NOT NULL,
`sala_opis` varchar(100) NOT NULL,
UNIQUE (sala_id),
INDEX in6 (sala_id),
PRIMARY KEY (`sala_id`)
) ENGINE=InnoDB ;

CREATE TABLE IF NOT EXISTS `seanse` (
`seans_id` int(10) unsigned NOT NULL auto_increment,
`klient_id` int(10) unsigned NOT NULL,
`seans_data` varchar(30) NOT NULL,
`seans_godzina` varchar(30) NOT NULL,
`sala_id` int(10) unsigned NOT NULL,
`film_id` int(10) unsigned NOT NULL,
`seans_odwolany` int(10) unsigned NOT NULL,
`seans_archiwalny` int(10) unsigned NOT NULL,
UNIQUE (seans_id),
INDEX in7 (seans_id),
PRIMARY KEY (`seans_id`),
INDEX in8 (klient_id),
FOREIGN KEY (klient_id) REFERENCES klienci (klient_id) ON DELETE cascade ON UPDATE cascade,
INDEX in9 (sala_id),
FOREIGN KEY (sala_id) REFERENCES sale (sala_id) ON DELETE cascade ON UPDATE cascade,
INDEX in10 (film_id),
FOREIGN KEY (film_id) REFERENCES sale (film_id) ON DELETE cascade ON UPDATE cascade
) ENGINE=InnoDB;





jak to poprawic?

Go to the top of the page
+Quote Post
dr_bonzo
post 11.09.2009, 20:00:23
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Zadbaj o zgodnosc typow - int(10) / int (11) , signed/unsigned.


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Leon Zawodowiec
post 11.09.2009, 20:49:07
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 7.05.2009

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


Wielkie dzieki :*
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: 28.03.2024 - 19:40