Rit*_*tam 4 mysql composite-key composite-primary-key
我正在使用mysql server.where我创建了一个名为question的表.这个表的列/属性是(课程,主题,年份,问题)我想创建一个主键(或复合键)由(课程+主题+年)组成.即对于特定的课程+主题+年组合,只能有一个问题.只有一行与(课程+主题+年)的组合,创建另一行是不可能的.我做到了:
primary key(course,subject,year);
Run Code Online (Sandbox Code Playgroud)
但它不工作.我可以创建两行,当然,主题,年份相同的组合.
任何人都可以告诉我,我怎么能创建一个复合键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)
);
Run Code Online (Sandbox Code Playgroud)
要将此约束添加到现有表,您需要遵循以下语法
ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (P_Id,LastName)
Run Code Online (Sandbox Code Playgroud)