Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z kluczem obcym
Forum PHP.pl > Forum > Bazy danych > MySQL
marcini82
Witam!

Mam w bazie tabele:
  1. CREATE TABLE `listy_ogloszen` (
  2. `id_listy` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  3. PRIMARY KEY (`id_listy`)
  4. ) ENGINE=InnoDB DEFAULT CHARSET=latin2 AUTO_INCREMENT=4 ;
  5.  
  6.  
  7. CREATE TABLE `ogloszenia` (
  8. `id_ogloszenia` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
  9. `id_listy` int(11) NOT NULL DEFAULT '0',
  10. `tytul` varchar(255) NOT NULL DEFAULT '',
  11. `naglowek` text NOT NULL,
  12. `tresc` text NOT NULL,
  13. `data_utw` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  14. `data_mod` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  15. `utworzyl` varchar(20) DEFAULT NULL,
  16. `zmodyfikowal` varchar(20) DEFAULT NULL,
  17. `widoczne` tinyint(1) NOT NULL DEFAULT '0',
  18. PRIMARY KEY (`id_ogloszenia`),
  19. KEY `zmodyfikowal_ogl` (`zmodyfikowal`),
  20. KEY `utworzyl_ogl` (`utworzyl`),
  21. KEY `id_listy` (`id_listy`)
  22. ) ENGINE=InnoDB DEFAULT CHARSET=latin2 AUTO_INCREMENT=12 ;

I na to chce nalozyc oraniczenie:
  1. ALTER TABLE ogloszenia
  2. 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)


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...
nospor
typy obu pol powinny byc identyczne, a u ciebie jeden ma bigint(20) a drugi ma int(11)
marcini82
Rzeczywiscie, taka niby oczywista rzecz, a nie zauwazylem...

Dzieki biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.