Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Relacja dla trzech tabel
jg44
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 14
Dołączył: 14.07.2011
Skąd: Gliwice / Wrocław

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


Witam,
napisałem prosty skrypt przesyłania prywatnych wiadomości między użytkownikami na portalu i chciałbym jeszcze dodać opcję, aby administrator również mógł wysłać użytkownikowi wiadomość. Mam następujące trzy tabele (wypisałem tylko istotne dla problemu kolumny): `uzytkownicy`(`ID`,`nazwa_uzytkownika`, ...), `wiadomosci`(`ID`,`od`,`do`, ...) oraz `admin`(`ID`,`nazwa`). Tabele `uzytkownicy` oraz `wiadomosci` powiązane są następującymi relacjami:
  1. FOREIGN KEY(`od`) REFERENCES `uzytkownicy`(`ID`),
  2. FOREIGN KEY(`do`) REFERENCES `uzytkownicy`(`ID`)

W tabeli `wiadomosci` w kolumnie `od` jest przechowywane ID autora wiadomości, w kolumnie `do` - adresata. Przesyłanie wiadomości między użytkownikami działa. Jak zrobić relację, aby admin mógł wysłać wiadomość? Jeśli zrobię coś takiego:
  1. FOREIGN KEY(`od`) REFERENCES `admin`(`ID`),

to oczywiście jest źle:
Kod
Cannot add or update a child row: a foreign key constraint fails (`portal-5`.`wiadomosci`, CONSTRAINT `wiadomosci_ibfk_1` FOREIGN KEY (`od`) REFERENCES `uzytkownicy` (`ID`))

Najprostszym działającym rozwiązaniem byłoby zlikwidowanie tabeli `admin` i wrzucenie danych admina między zwykłych użytkowników, ale nie jest to zbyt profesjonalne...
Z góry dziękuję za pomoc.
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: 2.10.2025 - 23:41