【问题标题】:Foreign Key Constraint on child won't allow to update or add field to column孩子的外键约束不允许更新或添加字段到列
【发布时间】:2014-11-10 05:17:05
【问题描述】:

尝试在 student_classes 表中插入以下数据。

在 MySQL 中收到以下错误: 23:59:40 INSERT INTO student_classes VALUES (NULL,'1', '1', '2012-01-01', '90', '100', '80', '90', '3.0') 错误代码:1452。无法添加或更新子行:外键约束失败(cs362lgatesip1.student_classes,CONSTRAINT FK_studentclasses_students FOREIGN KEY (StudentID) REFERENCES students (StudentID) ON DELETE NO ACTION ON更新无操作)0.141 秒

StudentID 是students 表中的主键和student_classes 表中的外键,两者都是Not Null int(11)。我试图改变位仍然不断出错。我在这里想念什么?我试图删除 NULL 但仍然收到错误。

插入到 student_classes 值(NULL,'1','1','2012-01-01','90','100','80','90','3.0');

插入到 student_classes 值(NULL,'1','2','2012-05-01','60','70','80','90','2.70');

插入到 student_classes 值(NULL,'1','3','2012-08-01','100','100','100','95','4.0');

插入到 student_classes 值(NULL,'2','1','2012-01-01','85','90','80','92','3.5');

插入到 student_classes 值(NULL、'2'、'2'、'2012-05-01'、'70'、'75'、'80'、'75'、'3.0');

插入到 student_classes 值(NULL、'2'、'3'、'2012-08-01'、'60'、'65'、'70'、'65'、'2.5');

【问题讨论】:

    标签: insert mysql-workbench


    【解决方案1】:

    我认为您不能将 NULL 插入表的外键列中。

    【讨论】:

    • 我尝试输入一个数值,但仍然出现同样的错误。我什至尝试将 StudentID 的值放在学生表中并且没有任何变化。我需要更改外国参考吗?
    • 我的意思是外键引用,对不起。
    • 我需要设置一个值,以便我可以为课程中的每个学生平均成绩。
    • 您可以轻松取平均值。我认为您输入的学生 ID 可能不存在于作为学生表的父表中。
    • 尝试删除外键约束,然后为学生ID插入一个数值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-21
    • 2015-07-26
    • 2020-10-04
    • 2015-12-23
    相关资源
    最近更新 更多