我正在使用 mysql server.where 我创建了一个名为 question 的表。该表的列/属性是(课程,主题,年份,问题)我想创建一个主键(或复合键)由(课程+主题+年份)组成。即对于特定的课程+学科+年份组合,只能有一个问题。(课程+学科+年份)的组合将只有一行,无法创建另一行。我做到了:
primary key(course,subject,year);
但它不起作用。我仍然可以使用相同的课程、主题、年份组合创建两行。
谁能告诉我如何创建复合键属性????
我正在使用 mysql server.where 我创建了一个名为 question 的表。该表的列/属性是(课程,主题,年份,问题)我想创建一个主键(或复合键)由(课程+主题+年份)组成。即对于特定的课程+学科+年份组合,只能有一个问题。(课程+学科+年份)的组合将只有一行,无法创建另一行。我做到了:
primary key(course,subject,year);
但它不起作用。我仍然可以使用相同的课程、主题、年份组合创建两行。
谁能告诉我如何创建复合键属性????
语法是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,您应该执行类似的操作
ALTER TABLE table_name ADD PRIMARY KEY (a, b, c);