fdasfdsadfas 2021-11-12 10:36 采纳率: 100%
浏览 1092
已结题

mysql中3734 - Failed to add the foreign key constraint.


CREATE TABLE Class (
    ClassNo varchar(6) not null PRIMARY KEY,
    ClassName varchar(15) not null,
    institute varchar(10) not null,
    grade int not null,
    ClassNum int not null
);

CREATE TABLE Student (
    StudentNo varchar(7) not null PRIMARY KEY,
    StudentName varchar(5) not null,
    sex varchar(1) not null,
    birthday DATE not null,
    native varchar(5) not null,
    nation varchar(5) not null,
    ClassNo varchar(6) not null,
        FOREIGN KEY(ClassNo) REFERENCES Class(ClassNo)
);

会出现如下报错:
3734 - Failed to add the foreign key constraint. Missing column 'ClassNo' for constraint 'student_ibfk_1' in the referenced table 'class'
请问这个怎么解决

  • 写回答

1条回答 默认 最新

  • 鬼畜的稀饭 2021-11-12 11:06
    关注
     
    CREATE TABLE Class (
    ClassNo varchar(6) not null PRIMARY KEY,
    ClassName varchar(15) not null,
    institute varchar(10) not null,
    grade int not null,
    ClassNum int not null
    );
    
    
    CREATE TABLE Student (
    StudentNo varchar(7) not null PRIMARY KEY,
    StudentName varchar(5) not null,
    sex varchar(1) not null,
    birthday DATE not null,
    native varchar(5) not null,
    nation varchar(5) not null,
    ClassNo varchar(6) not null,
    FOREIGN KEY(ClassNo) REFERENCES Class(ClassNo)
    );
    

    用我发这个试试。
    问题是你字段名前面加空格了。
    另外有个小建议,表名,字段名不要大小写混合,在 win 上不区分大小写,但是到 linux 里面会区分,统一小写能避免很多麻烦。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月20日
  • 已采纳回答 11月12日
  • 创建了问题 11月12日