Chyba v SQL – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Chyba v SQL – MySQL – Fórum – Programujte.comChyba v SQL – MySQL – Fórum – Programujte.com

 

darebak
~ Anonymní uživatel
1 příspěvek
20. 2. 2012   #1
-
0
-

Ahoj, potřeboval bych poradit s SQL. Když kod vložím do Mysql tak mi to hlasi chybu (příklad: ERROR 1005 <HY000>: Can't create table 'skola.oddeleni' (errno: 150). Dělá to tak u každé tabulky kromě Nemoci a Pojistovny (tam kde nejsou cizí klíče). Nevíte někdo prosím kde mám chybu?

CREATE DATABASE skola DEFAULT CHARACTER SET utf8 COLLATE utf8_czech_ci;

USE skola; 

CREATE TABLE Pacienti (
	id_pacienta int (10) auto_increment, 
	Jmeno VARCHAR (60),
  Prijmeni VARCHAR (60),
  Adresa VARCHAR (60),
  Telefon int (13),
  doktor int (10),
  pojistovna int (10),
  nemoc int (10),
  PRIMARY KEY (id_pacienta), 
  FOREIGN KEY (doktor) REFERENCES Doktori (id_doktor) ON DELETE CASCADE,
  FOREIGN KEY (pojistovna) REFERENCES Pojistovna (id_pojistovna) ON DELETE CASCADE,
  FOREIGN KEY (nemoc) REFERENCES Nemoci (id_nemoci) ON DELETE SET NULL
)
ENGINE=innoDB;

CREATE TABLE Doktori (
	id_doktor int (10) auto_increment, 
	cislo_d_oddeleni int (10), 
	jmeno VARCHAR (60), 
	prijmeni VARCHAR (60),
	Adresa VARCHAR (60),
	rok_nast date, 
	PRIMARY KEY (id_doktor),
	FOREIGN KEY (cislo_d_oddeleni) REFERENCES Oddeleni (cislo) ON DELETE CASCADE	
)
ENGINE=innoDB;

CREATE TABLE Oddeleni (
	cislo int (10) auto_increment, 
	o_doktor int (10), 
	Nazev VARCHAR (60), 
	PRIMARY KEY (cislo),
	FOREIGN KEY (o_doktor) REFERENCES Doktori (id_doktor) ON DELETE CASCADE	
)
ENGINE=innoDB;

CREATE TABLE Pojistovna (
	id_pojistovna int (10), 
	Nazev VARCHAR (60), 
	Telefon int (13), 
	Adresa VARCHAR(60), 
	PRIMARY KEY (id_pojistovna)
)
ENGINE=innoDB;

CREATE TABLE Nemoci (
	id_nemoci int (10), 
	Nazev VARCHAR (60), 
	Priznaky VARCHAR (60),
  Lecba VARCHAR (60), 
	PRIMARY KEY (id_nemoci) 
)
ENGINE=innoDB;



CREATE TABLE Pacientnemoc (
	p_pacient int (10),
  p_nemoc int (10), 
FOREIGN KEY (p_pacient) REFERENCES Pacienti (id_pacienta) ON DELETE CASCADE,
FOREIGN KEY (p_nemoc) REFERENCES Nemoci (id_nemoci) ON DELETE CASCADE 
)
ENGINE=innoDB;



Nahlásit jako SPAM
IP: 95.82.149.–
KIIV
~ Moderátor
+43
God of flame
20. 2. 2012   #2
-
+1
-
Zajímavé

minimalne neexistujou tabulky na ktery se foreign key odkazuje...  tj. budes muset preskladat tak, aby vse co potrebujes uz existovalo

(nebo vytahej foreign key az za vytvoreni tabulek - tj pridat pomoci alter table)

Mimochodem kdyz zrusis doktora chces opravdu zrusit i cele oddeleni?

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

Chyba SQL dotazu — založil Radek

Chyba v syntaxi SQL — založil endless

MS SQL Server 2008 -chyba — založil Koky

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý