Reference
7 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Mam tri tabulky: crete table hrac (id1 integer primary key auto_increment) type=InnoDB; crete table klub (id2 integer primary key auto_increment) type=InnoDB; create table hraje (kdo integer references hrac(id) on delete restrict on update no action, kde integer references klub(id2), primary key(kdo,kde))type=InnoDB; Toto mi nejde: Musim uvadet typ atributu kdyz jsou v referenci ke klici jine tabulky (3.tab.)? Dale bych chtel kdyz vymazu z 1. tabulky nejakeho hrace, aby se vymazal i z 3.tabulky nebo zmenil jeho id a zmenilo by se i opet v 3. tabulce (i kdyz menit id neni asi nejlepsi,ale zajima me to). Diky za kazdou odpoved.
-
Ze by v MySQL nefungovaly reference? ;)
-
jinak by to bylo on delete cascade a on update cascade, aby se menilo dle zavilsosti.. a referenci staci uvest na patricnou tabulku (hrac, klub) a pokud bys neuvedl co chces brat, vzal by se myslim primarni klic, ale je lepsi uvest ze chces id1, id2. ale fakt mam dojem ze v tyhle mysql verzi nejsou cizi klice podporovany.
-
vygooglil jsem tohle http://dev.mysql.com/doc/maxdb/en/6d/117c5fd14811d2a97400a0c9449261/content.htm tam je to popsany, vlozit me to necha, ale cizi klice uplne ignoruje :-/ nechtej nam sem admini dat PostgreSQL? ;-)
-
Tak se mi to podarilo: create table klub( id integer primary key,hrac integer,foreign key hrac_r eference (hrac) references osoba(id) on delete cascade on update cascade) type=I nnoDB;
-
create table klub( id integer primary key, hrac integer, foreign key hrac_reference (hrac) references osoba(id) on delete cascade on update cascade) type=InnoDB; Ale funguje to jen kdyz cizi klic definuju mimo definici atributu a typ tabulky musi byt InnoDB.
-
hmm, znal jsem jen MyISAM.. InnoDB vypada dobre, prinasi podporu nekterejch veci, nevite nekdo co ma za nevyhody?