![]() |
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 01:49 |