我已经查看了这篇文章的其他主题,并尝试调整我的脚本以适应它们,但无济于事。所以我在这里发帖。
我有两个表,科目和学生。其中,有两个主键(subject_id 和 student_id),请参阅图片以获得 full view of the two tables (在 phpmyadmin 中完成)。
我打算创建第三个表,其中包含 entry_id(主键)、subject_id (FK)、subject_name(FK)、subjectexamboard(FK)、student_id(FK) 和 studentfirstname(FK)。
这是我尝试在 phpmyadmin 上运行的代码:
CREATE TABLE entries3(
entry_id INT NOT NULL AUTO_INCREMENT,
subject_id INT NOT NULL,
subject_name VARCHAR(20) NOT NULL,
subjectExamBoard VARCHAR(10) NOT NULL,
student_id INT UNSIGNED NOT NULL,
studentFirstName VARCHAR(20) NOT NULL,
studentLastName VARCHAR(40) NOT NULL,
PRIMARY KEY (entry_id),
CONSTRAINT FOREIGN KEY (subject_id) REFERENCES subjects(subject_id),
CONSTRAINT FOREIGN KEY (subject_name) REFERENCES subjects(subject_name),
CONSTRAINT FOREIGN KEY (subjectExamBoard) REFERENCES subjects(exam_board),
CONSTRAINT FOREIGN KEY (student_id) REFERENCES students(student_id),
CONSTRAINT FOREIGN KEY (studentFirstName) REFERENCES students(first_name),
CONSTRAINT FOREIGN KEY (studentLastName) REFERENCES students(last_name));
感谢您的帮助,请放轻松,因为我是 SQL 的新手。
最佳答案
检查您的 FK 约束的每个列对,它们应该是相同的数据类型
关于mysql - SQL菜鸟。 "Foreign Key Constraint is incorrectly formed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42303745/