Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z relacjami między tabelami w SQL
NightKn8
post 8.11.2012, 08:27:12
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 7.11.2012

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


Jest to mój pierwszy post na tym forum także SERDECZNIE WITAM WSZYSTKICH! =)
Teraz do rzeczy:
Projektuje bloga opartego na php i sql i będąc na jego ukończeniu napotkałem na pewien problem prawdopodobnie związany z nieznajomością tych języków. Problem tkwi w komentarzach do danego wpisu. Choć dodają się one sukcesywnie to widać je wszystkie na każdym wpisie w blogu. Przykładowo komentarz dodany na wpisie 2 będzie widoczny na wpisie 1 i odwrotnie.

Otóż mam 3 tabele:
($ jest kluczem głównym)

entries_table
$post_id
post_title
post_body
post_user
post_date
post_time
edit_date
edit_time
edit_no

comments_table
$comment_id
post_id
comment_body
comment_user
comment_date
comment_time
comment_no

users_table
$user_id
username
password


I mam takie (być może błędne) rozumowanie, aby klucz główny z tabeli "entries_table" podłączyć pod "comments_table" . `post_id` jednocześnie nadając `post_id` w tabeli "comments_table" charakter klucza obcego dzięki czemu podczas dodania nowego wpisu `post_id`"UPDATNEŁO" by się zgodnie z `post_id`z tabeli "entries_table". Wtedy mógłbym porównać oba post_id i wyciągnąć konkretne komentarze dla danego wpisu. Problem tkwi w tym, że po dodaniu nowego wpisu (postu na blogu) w bazie danych nie ma utworzonego ani jednego rekordu komentarza więc w tabeli komentarzy nie ma co się "UPDATOWAĆ". Dodatkowo przy próbie połączenia obu `post_id`SQL wywala błąd: #1452 - Cannot add or update a child row: a foreign key constraint fails. (`blog`.`#sql-d8c_32`, CONSTRAINT `#sql-d8c_32_ibfk_1` FOREIGN KEY (`post_id`) REFERENCES `comments` (`post_id`) ON DELETE CASCADE ON UPDATE CASCADE)

Czy ktoś mógłby powiedzieć co jest źle? Czy dodatkowo mam dać pliki php albo fragmenty plików odpowiedzialne za wywołanie rekordów z bazy danych?

Ten post edytował NightKn8 8.11.2012, 08:28:31
Go to the top of the page
+Quote Post
jaro87
post 8.11.2012, 11:40:36
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 7
Dołączył: 10.03.2011
Skąd: Wrocław

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


Prawdopodobnie próbujesz dodać komentarz a podajesz mu nieprawidłowy post_id.

Poczytaj o relacjach jeden do wielu albo też możesz poszukać, jest takie fajne forum o php na którym ludzie setki razy mieli taki sam problem: forum smile.gif

Ten post edytował jaro87 8.11.2012, 11:41:05
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 05:18