误设单列主键后,如何为facultyQualification表添加复合主键?
解决方案
要将现有单字段主键改为目标复合主键,需分两步操作:先移除已有的单字段主键约束,再添加包含三个字段的复合主键。
步骤1:删除现有单字段主键
执行以下SQL语句,移除仅以facultyID为主键的约束:
ALTER TABLE facultyQualification DROP PRIMARY KEY;
步骤2:添加复合主键
接着执行这条语句,将facultyID、level_、year_of_passing组合设置为主键:
ALTER TABLE facultyQualification ADD PRIMARY KEY (facultyID, level_, year_of_passing);
注意事项
- 你创建表时已将这三个字段标记为
NOT NULL,满足主键的非空要求,只需确保这三个字段的组合在表中唯一即可(主键必须保证唯一性),否则添加复合主键会报错。 - 执行操作前,建议确认表中数据符合复合主键的唯一性规则,避免因数据冲突导致操作失败。
内容的提问来源于stack exchange,提问作者shashank agrawal
相关产品推荐
相关产品推荐

