Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)

Diskuze: Relace mezi záznamy v tabulce

Ostatní jazyky SQL SQL a databáze Relace mezi záznamy v tabulce

Aktivity (1)
Avatar
Mario Brunmayr:5. července 23:59

Ahoj mám tento SQL příkaz

CREATE TABLE IF NOT EXISTS sazka (
  id int(11) AUTO_INCREMENT,
  id_uzivatele int,
  zetony int,
  FOREIGN KEY(id_uzivatele) REFERENCES uzivatele(uzivatele_id),
  PRIMARY KEY (id)
);

a když ho chci provést tak mám tuto chybu.

#1005 - Can't create table `redakcni`.`sazka` (errno: 150 "Foreign key constraint is incorrectly formed")

Je mi jasný že problém je s vytvoření relace. Zároveň by jsem se chtěl zeptat jestli se mi do tabulky sázka doplní automaticky všechny uzivatele_id z tabulky uzivatele do sloupce id_uzivatele z tabulky sazky. Předem děkuji za pomoc

Mario Brunmayr

 
Odpovědět 5. července 23:59
Avatar
Paul
Člen
Avatar
Odpovídá na Mario Brunmayr
Paul:12. července 12:01

Chybová hláška je dost obecná.
Napadá mě, jestli by nemohlo být rozdílnými datovými typy, zkus to ověřit.

 
Nahoru Odpovědět 12. července 12:01
Avatar
Peter Trcka
Člen
Avatar
Odpovídá na Mario Brunmayr
Peter Trcka:12. července 13:04
CREATE TABLE IF NOT EXISTS sazka (
  id int(11) AUTO_INCREMENT,
  id_uzivatele int(11),
  zetony int,
  FOREIGN KEY(id_uzivatele) REFERENCES uzivatele(id),
  PRIMARY KEY (id)
);

predpokladám, že v tabulke uzivatele je ako primarny kluc pouzitý stĺpec id a rozsah je int(11)

 
Nahoru Odpovědět 12. července 13:04
Avatar
Odpovídá na Peter Trcka
Mario Brunmayr:12. července 23:18

Děkuji, tento problém jsem vyřešil spíše teď mě zajímá jestli je možný pouze pomocí SQL lze vytvořit automaticky záznam v tabulce sazky pokuď bude v tabulce uzivatele zapsán nový záznam (nové ID).

 
Nahoru Odpovědět 12. července 23:18
Avatar
plelovsky
Člen
Avatar
plelovsky:17. července 10:58

Pomocí triggeru
https://dev.mysql.com/…trigger.html

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 17. července 10:58
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 5 zpráv z 5.