Mam w bazie tabele:
CREATE TABLE `listy_ogloszen` ( `id_listy` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id_listy`) ) ENGINE=InnoDB DEFAULT CHARSET=latin2 AUTO_INCREMENT=4 ; CREATE TABLE `ogloszenia` ( `id_ogloszenia` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `id_listy` int(11) NOT NULL DEFAULT '0', `tytul` varchar(255) NOT NULL DEFAULT '', `naglowek` text NOT NULL, `tresc` text NOT NULL, `data_utw` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `data_mod` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `utworzyl` varchar(20) DEFAULT NULL, `zmodyfikowal` varchar(20) DEFAULT NULL, `widoczne` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id_ogloszenia`), KEY `zmodyfikowal_ogl` (`zmodyfikowal`), KEY `utworzyl_ogl` (`utworzyl`), KEY `id_listy` (`id_listy`) ) ENGINE=InnoDB DEFAULT CHARSET=latin2 AUTO_INCREMENT=12 ;
I na to chce nalozyc oraniczenie:
ALTER TABLE ogloszenia ADD CONSTRAINT id_listy FOREIGN KEY (id_listy) REFERENCES listy_ogloszen(id_listy) ON UPDATE CASCADE ON DELETE CASCADE;
Niestety, phpMyAdmin wyrzuca blad:
Cytat
MySQL zwrócił komunikat:
#1005 - Can't create table './nazwa_katalogu/#sql-c97f_5148c.frm' (errno: 150)
#1005 - Can't create table './nazwa_katalogu/#sql-c97f_5148c.frm' (errno: 150)
Jak probuje to samo wyklikac w widoku relacyjnym dla tabeli ogloszenia (zamiast robic SQL-em),
to widze komnikat:
Cytat
Brak zdefiniowanego indeksu! (id_listy)
Co jest nie tak?
Probowalem juz na localhoscie i na home.pl...