Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MySQL Administrator "relacja-klucz obcy"
ernest210
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 27.07.2005

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


Mam takie pytanie zainstalowałem sobie „mysql-4.1.13-win32” (działa spoko) i jeszcze „MySQL Administrator” (także działa dobrze). Mam tylko taki oto problem przy tworzeniu relacji a konkretniej chodzi o klucz obcy. Przykład tworzę dwie tabele z następującymi polami:
Tabela: „student” pola: „id”, „imie”, „nazwisko”. „id” jest kluczem głównym.
Tabela2: „egzaminy” pola: „id”, „nazwa-egz”, „miejsce”, „id_studenata”. „id” klucz główny „id_studenta” klucz obcy z tabeli „student”.

A więc gdy mam już dwie tabelę przechodzę do tabeli „egzaminy (podwójne szybkie klikniecie na nazwie tabeli). Aby zrobić relacje domyślam się, że powinno wyglądać to następująco: Przechodzę do dolnej środkowej zakładce „Foreign Keys” naciskam znak plus, wpisuję nazwę (lub zostawiam tą zaproponowaną) „FK_egzaminy_1”. W polu „Foreign Key Settings”, z „Ref. Table” wybieram „student” w opcji „columns” wybieram „id_student” natomiast opcji „Reference Column” wybieram „id”. I powiecmy, że w „On Detale” wybiorę „Cascade” naciskam przycisk „Appy Changes” pojawia się okienko z potwierdzeniem

“Are you sure you want to execute the following SQL command to apply the chenges to the table?”

ALTER TABLE `baza`.`egzaminy` ADD CONSTRAINT `FK_egzaminy_1` FOREIGN KEY `FK_egzaminy_1` (`id_studenta`)
REFERENCES `student` (`id`)
ON DELETE CASCADE
ON UPDATE RESTRICT;


Naciskam „Execute”
Niestety pojawia się taki oto komunikat:

Terror Chile executing query.

ALTER TABLE `baza`.`egzaminy` ADD CONSTRAINT `FK_egzaminy_1` FOREIGN KEY `FK_egzaminy_1` (`id_studenta`)
REFERENCES `student` (`id`)
ON DELETE CASCADE
ON UPDATE RESTRICT;

MySQL Error Number 1005
Can’t create table ’.\baza\#sql-500_7a.frm’(error: 150)


=====================================================
Już sobie poradziłem (głupia pomyłka) po prostu wartość pola dla klucza obcego była ustawiona na Varchar natomiast klucz obcy był typu INTEGER i stąd ten błąd. Dla usprawiedliwienia dodam, że to pierwszy tego typu program, jaki używam, (nie wspominając o MsAccess). Temat można skasować (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

Ten post edytował ernest210 27.07.2005, 11:49:28
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 19:36