【问题标题】:I want to add more primary key into existing primary key我想在现有主键中添加更多主键
【发布时间】:2022-11-15 00:13:28
【问题描述】:

我想通过组合 3 列来设置主键,但我错误地用一列设置了键。我应该如何将其他两列添加到现有的主键中。

CREATE TABLE facultyQualification(
    facultyID CHAR(5) NOT NULL,
    level_ VARCHAR(15) NOT NULL,
    Exam_Degree VARCHAR(30) NOT NULL,
    School_College VARCHAR(50) NOT NULL,
    Board_Uni VARCHAR(30) NOT NULL,
    year_of_passing DATE NOT NULL,
    Max_marks_grades INT NOT NULL,
    marks_grade_obtained INT NOT NULL,
    perscent_marks INT NOT NULL,
    division VARCHAR(10) NOT NULL,
    achievement VARCHAR(50),
    FOREIGN KEY(facultyID) REFERENCES facultyPersonal(facultyID)
);
SELECT * FROM facultyQualification;
ALTER TABLE facultyQualification
ADD PRIMARY KEY (facultyID);

我想做的主键是(facultyID,level_,year_of_passing)。

【问题讨论】:

  • 删除错误的主键,然后使用所有三列再次创建它。
  • 请把代码发给我,我知道怎么做

标签: mysql sql


【解决方案1】:

你可以做:

alter table facultyQualification drop primary key;

alter table facultyQualification 
add primary key (facultyID, level_, year_of_passing);

请参阅DB Fiddle 的示例。

【讨论】:

  • 它给出了一个错误“不能删除主要索引:外键约束中需要”
  • 然后有另一个表已经引用了这个表。您还需要重新创建该其他表。
  • 哦好的,谢谢!!
猜你喜欢
  • 2012-08-01
  • 1970-01-01
  • 2012-11-25
  • 1970-01-01
  • 2016-09-11
  • 1970-01-01
  • 1970-01-01
  • 2010-10-31
相关资源
最近更新 更多