从两个表的外键查询mysql表创建复合主键

时间:2014-04-26 07:16:01

标签: mysql sql database xampp

我有以下表格

books(
  bkid varchar(255),
  bkname varchar(255),
  bkauth varchar(255),
  bkpub varchar(255),
  bkedn int(10)
)

members(
  memid varchar(255),
  memname varchar(255),
  memaddr varchar(255),
  memcon varchar(255),
  mememail varchar(255)
)

bkidmemid是主键。

现在我正在尝试将复合主键(bkid和memid)从表booksmembers,中取出作为外键,语法给我一些错误,我无法创建新表。

create table issuebooks(
  bkid varchar(255),
  memid varchar(255),
  issuestatus varchar(255),
  references foreign key bkid(books),
  references foreign key memid(members),
  primary key (bkid,memid)
);

1 个答案:

答案 0 :(得分:0)

您的create table语句不正确。这将有效(在SQLFiddle上测试)

create table issuebooks(
  bkid varchar(255) references bkid(books),
  memid varchar(255) references memid(members),
  issuestatus varchar(255),
  primary key (bkid,memid)
);

建议...如果可以的话,使用整数id列而不是VARCHAR(255)......你不会后悔。并将这些列设为NOT NULL。