Avatar
dreeeeeeeeeeeej:

Zdravím,

#1452 - Cannot add or update a child row: a foreign key constraint fails (**.Studenti, CONSTRAINT Studenti_ibfk_1 FOREIGN KEY (Třída) REFERENCES Třídy (Označení))

nevíte proč to dělá při přidání hodnot do tabulku, zde jsou zdrojové kódy tabulek

CREATE TABLE Třídy
(
Označení int(2),
Obor varchar(20) NOT NULL,
Třídní varchar(15) NOT NULL,
PRIMARY KEY (Označení),
FOREIGN KEY (Obor) REFERENCES Obory(Zkratka),
FOREIGN KEY (Třídní) REFERENCES Učitelé(IČ)
);

CREATE TABLE Studenti
(
varchar(3),
varchar(10) NOT NULL,
Jméno varchar(15) NOT NULL,
Příjmení varchar(15) NOT NULL,
Třída int(2) NOT NULL,
PRIMARY KEY (),
FOREIGN KEY (Třída) REFERENCES Třídy(Označení)
);

moc děkuji za radu :)

 
Odpovědět 15.11.2014 15:24
Avatar
Odpovídá na dreeeeeeeeeeeej
Michal Štěpánek:

Spíš by pomohl kód, kterým ty akce provádíš...
EDIT: Vážně máš diakritiku v názvech sloupců?

Editováno 15.11.2014 16:53
Nahoru Odpovědět  +1 15.11.2014 16:52
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
dreeeeeeeeeeeej:

Diakritika je tam kvůli importu dat a kód.. jak to myslíš?

 
Nahoru Odpovědět 15.11.2014 17:06
Avatar
Odpovídá na dreeeeeeeeeeeej
Michal Štěpánek:

Do názvu sloupců a tabulek se háčky a čárky nedávají. Databáze a obsluhující program z toho můžou být zmatené a můžou pak dělat blbosti. Dáš sem ten kód, kterým to ukládáš?

Editováno 15.11.2014 17:09
Nahoru Odpovědět 15.11.2014 17:09
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
dreeeeeeeeeeeej:

sem v tom naprostý amatér, jak myslíš ten kód kterým to ukládám?

 
Nahoru Odpovědět 15.11.2014 17:11
Avatar
Odpovídá na dreeeeeeeeeeeej
Michal Štěpánek:

Při čem se ti zobrazuje ta chyba?
EDIT: Jestli zadáváš ty hodnoty ručně, tak si myslím, že se snažíš vložit data do tabulky Studenti a nemáš žádné hodnoty v tabulce Třídy, což při FK nelze...

Editováno 15.11.2014 18:28
Nahoru Odpovědět 15.11.2014 18:25
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na dreeeeeeeeeeeej
Michal Štěpánek:

Musíš mít nejprve hodnoty v tabulce, ze které se FOREIGN KEY tahají, pak teprve můžeš cpát do jiných tabulek data závislá na této tabulce...

Nahoru Odpovědět 15.11.2014 18:30
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
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 7 zpráv z 7.