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?