如何使用两个外键的两个主键创建表?

sta*_*low 2 mysql foreign-keys primary-key composite-primary-key

create table Machine
(
 Machine_ID int primary key,
 Machine_Name varchar(30)
 Machine_Title varchar(30)
)
create table Part
(
 Part_ID int primary key,
 Part_Name varchar(30),
 Part_Description varchar(30)
)

//How do I make this table below?
create table Machine-Part
(
  Machine_ID int foreign key references (Machine.Machine_ID),
  Part_ID int foreign key references (Part.Part_ID)
  Factory_Note varchar(30);
) 
Run Code Online (Sandbox Code Playgroud)

Mysql抱怨语法有问题?

期望的结果:让表'Machine-Part'使用'Machine_ID'和'Part_ID'作为两个主键(它们都是外键).

gbn*_*gbn 7

如果单独声明约束(表级),则更有意义

create table Machine-Part
(
  Machine_ID int NOT NULL ,
  Part_ID int NOT NULL ,
  Factory_Note varchar(30) NULL,

  PRIMARY KEY (Machine_ID, Part_ID),
  UNIQUE INDEX (Part_ID, Machine_ID),
  foreign key (Machine_ID) references (Machine.Machine_ID),
  foreign key (Part_ID) references (Part.Part_ID)
) 
Run Code Online (Sandbox Code Playgroud)

链接表几乎总是需要反向索引