PDA

Pogčedajte punu verziju : MySQL Foreign key for index pair


dinke
21. 11. 2009., 16:29
Nisam se odavno petljao sa innodb tabelama pa mi je malo isparilo, pa rekoh da pitam experte ovde :)

Dakle imam tabele tipa blogs, rank_dates i trecu tabelu blogodak_rank gde zelim da imam unique index pair (blog_id, date_id).

e sad, za unique index imam standardno naravno:

alter table blogodak_rank add unique blog2date(blog_id, date_id);

Ali interesuje me da li postoji neki constrains kojim se odjednom dodaju foreign keys za ovaj par ili to mora odvojeno sa tipa:


alter table blogodak_rank add CONSTRAINT foreign key (date_id) references rank_dates(id) on delete cascade on update cascade;
alter table blogodak_rank add CONSTRAINT foreign key (blog_id) references blogs(id) on delete cascade on update cascade;


Dakle treba mi nesto tipa:

alter table blogodak_rank add constraint foreign key (blog_id, date_id) references rank_dates(id), blogs(id) on delete ...

Gledao manual http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html gde postoji primer sa pair indexom ali u istoj tabeli je a ne kao mene u odvojenim (sto je mnogo cesci slucaj imho) :)

User
21. 11. 2009., 19:07
Koliko ja znam nije omoguceno navodjenje vise tabela za composite key - ovo ide odvojeno.