mysql - SQL菜鸟。 "Foreign Key Constraint is incorrectly formed"

标签 mysql sql foreign-keys

我已经查看了这篇文章的其他主题,并尝试调整我的脚本以适应它们,但无济于事。所以我在这里发帖。

我有两个表,科目和学生。其中,有两个主键(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/

相关文章:

mysql - 如何将表结构从几列修改为一列?

mysql - 外键约束不会在 MySQL 表上创建

sql - PostgreSQL:如何索引所有外键?

php - 数据库关系 - Laravel

php - 更新MySQL表的特定记录

mysql - 如何在不使用直接查询的情况下从 Node js中的mysql数据库中获取数据?

mysql 查询需要 13 分钟才能运行

sql - 索引在 NOT IN 或 <> 子句中起作用吗?

sql - 我怎样才能在sql中做这个查询?计算类别数

Mysql 错误 1452 - 无法添加或更新子行 : a foreign key constraint fails