mysql innodb foreign key on 2 fields ?

1 отговора 230 прегледа
#1

mysql innodb foreign key on 2 fields ?

нещо не ми е ясно как трябва да стане следното нещо

table1
id - auto_increment|primary

table2
id - auto_increment|primary

table3
id1,id2

в table3 искам да има уникален ключ върху 2те полета като id1 е id от table1 а id2 е id от table2, ама нещо или аз съм тъп или нещо не разбирам ... все имам някаква грешка 150 от mysql ... някой ще подскаже ли синтаксиса за създаване на подобна таблица с такъв ключ?

Moscow, раз-два-три, Moscow, посмотри.
Отговор
в отговор на Bълk #2

Re: mysql innodb foreign key on 2 fields ?

mysql> show create table t3;

CREATE TABLE `t3` (
`id` int(11) NOT NULL auto_increment,
`t1_id` int(11) NOT NULL default '0',
`t2_id` int(11) NOT NULL default '0',
PRIMARY KEY (`id`),
UNIQUE KEY `t1_id` (`t1_id`,`t2_id`),
KEY `t2_id` (`t2_id`),
CONSTRAINT `t3_ibfk_1` FOREIGN KEY (`t2_id`) REFERENCES `t2` (`id`),
CONSTRAINT `t3_ibfk_2` FOREIGN KEY (`t1_id`) REFERENCES `t1` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8


salle.online.bg/sig

Редактирано от salle на

Отговор