Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Mario Brunmayr:5.7.2017 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.7.2017 23:59
Avatar
Paul
Člen
Avatar
Odpovídá na Mario Brunmayr
Paul:12.7.2017 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.7.2017 12:01
Avatar
Peter Trcka
Člen
Avatar
Odpovídá na Mario Brunmayr
Peter Trcka:12.7.2017 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.7.2017 13:04
Avatar
Odpovídá na Peter Trcka
Mario Brunmayr:12.7.2017 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.7.2017 23:18
Avatar
plelovsky
Člen
Avatar
plelovsky:17.7.2017 10:58

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

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
17.7.2017 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.