NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Problém s vytvorením relace

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Dominik Gavrecký:27.5.2016 23:23

Ahojte,

už nejaku dobu sa snažím vytvoriť reláciu medzi dvomi tabuľkami a však neuspešne a už naozaj neviem ako ďalej.

Chybová hláška:

Error: FOREIGN KEY relation could not be added!
#1452 - Cannot add or update a child row: a foreign key constraint fails (`dev_rewiz`.`#sql-c16_4a1809`, CONSTRAINT `#sql-c16_4a1809_ibfk_1` FOREIGN KEY (`id`) REFERENCES `news` (`news_users_id`))

SQL

ALTER TABLE `news` ADD  CONSTRAINT `news_users_id` FOREIGN KEY (`news_users_id`) REFERENCES `users`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;

DB : https://ctrlv.cz/Oy5l

Potrebujem aby news_users_id ** odkazoval na tabuľku users stlpec **id odkiaľ budem následne ťahať dalšie údaje.

Dátove typy v tabuľke users budem ešte prerábať viem že je v nej veľa chýb.

Ďakujem

Editováno 27.5.2016 23:23
Odpovědět
27.5.2016 23:23
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Odpovídá na Dominik Gavrecký
Matúš Petrofčík:28.5.2016 0:21
ALTER TABLE news ADD FOREIGN KEY (news_users_id) REFERENCES users(id) ON UPDATE RESTRICT ON DELETE RESTRICT

Pripadne pridaj tie antiapostrofy.

Nahoru Odpovědět
28.5.2016 0:21
obsah kocky = r^2 ... a preto vlak drnká
Avatar
Odpovídá na Matúš Petrofčík
Dominik Gavrecký:28.5.2016 0:22
#1452 - Cannot add or update a child row: a foreign key constraint fails (`dev_rewiz`.`#sql-c16_4a3fd1`, CONSTRAINT `#sql-c16_4a3fd1_ibfk_1` FOREIGN KEY (`news_users_id`) REFERENCES `users` (`id`))
Nahoru Odpovědět
28.5.2016 0:22
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
TomasGlawaty
Člen
Avatar
Odpovídá na Dominik Gavrecký
TomasGlawaty:28.5.2016 0:33

Máš v těch tabulkách nějaká data? Zda se mi, že to na tomto padá pokud přidáváš no-nullable cizí klíč do tabulky, která již obsahuje řádky.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
28.5.2016 0:33
Avatar
Odpovídá na TomasGlawaty
Dominik Gavrecký:28.5.2016 0:35

Mám dá sa to nejako obísť alebo to musím na kopletku zmazať ? Teda vyprázdniť aj news a users ?

Nahoru Odpovědět
28.5.2016 0:35
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Dominik Gavrecký:28.5.2016 0:38

Tak som to vyprázdnil a funguje to ale aj tak by ma zaujímalo či sa to dá nejako obísť ?

Nahoru Odpovědět
28.5.2016 0:38
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
TomasGlawaty
Člen
Avatar
Odpovídá na Dominik Gavrecký
TomasGlawaty:28.5.2016 0:43

Nadefinuj ten sloupec jako nullable, pak by ti mel jít přidat. Pokud se budes chtít zbavit možnosti aby sloupec mohl byt null, budes muset pak všechny klíče updatovat na hodnoty a následně definici Null ze sloupce odstranit :)

 
Nahoru Odpovědět
28.5.2016 0:43
Avatar
Odpovídá na TomasGlawaty
Dominik Gavrecký:28.5.2016 0:45

Ďakujem ti za pomoc

Nahoru Odpovědět
28.5.2016 0:45
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.