0

所以我已经研究了几个小时并且没有找到适合我想做的事情的运气。

我目前有两个问题:创建一个具有多个外键引用相同主键的表,并将这些属性拆分为多个列。

最后,我希望我的表看起来像这样,其中我的 O-Director_ID 是一列中的主键,与另一列中的所有其他 ID(在本例中为 FAD_ID、SAD_ID 和 SUD_ID)相关与另一个表中的主键对应的所有外键(来自 cramp_member 的成员 ID,已存在)。

所需表

这是我目前正在尝试做的事情,只是为了创建多个外键(我什至不知道如何创建第二列):

mysql> create table Other_Directing (
    -> O_Director_ID int (4) not null auto_increment,
    -> FAD_ID int (5) not null,
    -> SAD_ID int (5) not null,
    -> SUD_ID int <5> not null,
    -> primary key (O_Director_ID),
    -> foreign key (FAD_ID) references crew_member(Member_ID),
    -> foreign key (SAD_ID) references crew_member(Member_ID),
    -> foreign key (SUD_ID) references crew_member(Member_ID)
    -> );

但是,即使这不起作用,我也会收到以下错误消息:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 
'<5> not null,
primary key (O_Director_ID),
foreign key (FAD_ID) references crew_' 
at line 5

谢谢你,我希望这是有道理的。

问候,

迈克尔

4

2 回答 2

1

改为SUD_ID int <5> not null,SUD_ID int (5) not null,

于 2013-11-11T05:29:44.060 回答
0

您的项目真的需要 int 列上的非默认大小吗?如果是这样,你有一个错字......你的尺寸之一是 <> 的而不是 () 的:-> SUD_ID int <5> not null应该是-> SUD_ID int (5) not null

如果您确定由于内存限制确实需要大小:

create table Other_Directing (
    O_Director_ID int not null auto_increment,
    FAD_ID int not null,
    SAD_ID int not null,
    SUD_ID int not null,
    primary key (O_Director_ID),
    foreign key (FAD_ID) references crew_member(Member_ID),
    foreign key (SAD_ID) references crew_member(Member_ID),
    foreign key (SUD_ID) references crew_member(Member_ID)
);
于 2013-11-11T05:34:37.787 回答