首页 > 解决方案 > 出现错误 3780;创建外键约束时

问题描述

尝试创建外键时出现错误。错误是错误代码:3780。在外键约束“tblStudents_StudentNumber_fk”中引用列“StudentNumber”和引用列“StudentNumber”不兼容。

我对 MySQL 很陌生,提前道歉。

会不会是校对?我怎么会找到那个?可能是因为它属于 Assignment_03 数据库,即使它属于 3_assignment 数据库(不知何故仍然有效)?两个不同的 SQL 脚本上的两个代码是相同的。

CREATE TABLE Assignment_03.tblStudents
(StudentNumber VARCHAR (9), 
StudentFirst VARCHAR (9), 
StudentLast VARCHAR (15), 
MajorCode CHAR (3), 
    constraint tblStudents_StudentNumber_pk PRIMARY KEY (StudentNumber), 
    constraint tblmajors_MajorCode_fk FOREIGN KEY (MajorCode)
        references tblmajors(MajorCode)
); 

CREATE TABLE Assignment_03.Grades
 (StudentNumber VARCHAR (9),
 CourseCode VARCHAR (8),
 Grade DOUBLE (2,1) NOT NULL, 
 InstructorNumber INT (5),
  CONSTRAINT tblStudents_StudentNumber_fk FOREIGN KEY (StudentNumber)
   REFERENCES tblStudents(StudentNumber),
  CONSTRAINT tblCourses_CourseCode_fk FOREIGN KEY (CourseCode)
   REFERENCES tblCourses(CourseCode),
  CONSTRAINT tblInstructor_InstructorNumber_fk FOREIGN KEY (InstructorNumber)
   REFERENCES tblInstructor (InstructorNumber),
  CONSTRAINT grade_pk PRIMARY KEY (StudentNumber, CourseCode)
 );

TIA

标签: mysql

解决方案


推荐阅读