如何在MySQL数据库中创建复合键

我正在使用mysql server.where我创建了一个名为question的表.该表的列/属性是(课程,科目,年份,问题)
我想创建一个主键(或复合键)包括(课程主题年).即,对于特定课程年级组合,可能只有一个问题.只有一行与(课程科目年)的组合,将不可能创建另一行.
我做到了:

primary key(course,subject,year);

但它不工作.我可以创建两行,当然,主题,年份相同的组合.

任何人都可以告诉我,我怎么能创建一个复合键propery ????

最佳答案
语法是CONSTRAINT constraint_name PRIMARY KEY(col1,col2,col3)例如::

CONSTRAINT pk_PersonID PRIMARY KEY(P_Id,LastName)

如果您在创建表时正在编写上面的示例,例如::

CREATE TABLE person (
   P_Id int ,
   ............,
   ............,
   CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
);

要将此约束添加到现有表,您需要遵循以下语法

ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (P_Id,LastName)

转载注明原文:如何在MySQL数据库中创建复合键 - 代码日志