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
 
Start new topic
Odpowiedzi
KRIS_PL
post
Post #2





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 29.07.2005

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


Cytat(mhs @ 2005-07-29 11:15:07)
mozesz podac strukture bazy danych oraz zapytania tworzace relacje gdyz prawdopodobnie masz gdzies blad przy tworzenie relacji....

jak się zalogowałem przez najnowszy phpMyAdmin to mi wyświetlił że,
PMA Database ... błąd[ Dokumentacja ]
Ogólne funkcje relacyjne wyłączone

mam serwer w wersji 3 teraz robie upgrade do 4.. coś tam - może tamta wersja nie obsługiwała relacji..
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: 14.10.2025 - 12:10