Mysql联合主键设置外键,我现在有3张表,user表(有username字段),team表(有teamid字段)和team_member表(有teamid和username字段),在team_member表中我想创建外键分别引用前面两张表的2个字段,但是会出错,
是不是联合主键只能引用另“一张表”(只能是一张表,不能是两张表)的2个属性,不然就相当与创建了2个外键,就相当于我的team_member有两个主键了,而不是联合主键了。

解决方案 »

  1.   

    提这种问题的时候请把你的错误信息一起贴出来。显然以目前你提供的仅有信息来说,唯一能回答的就是你的语句写错了。至于错在哪儿,猜不出来。mysql> create table user(username int primary key) engine=innodb;
    Query OK, 0 rows affected (0.13 sec)mysql> create table team(teamid int primary key) engine=innodb;
    Query OK, 0 rows affected (0.02 sec)mysql>
    mysql> create table team_member(teamid int,username int,
        ->  FOREIGN KEY (username) REFERENCES user(username),
        ->  FOREIGN KEY (teamid) REFERENCES team(teamid)
        -> ) engine=innodb;
    Query OK, 0 rows affected (0.11 sec)mysql>