任何人都可以帮我解决这个数据库错误,我在一个名为
的表上插入数据subjectdetails(
subjectid int primarykey,
subject varchar(50),
semid int //foreign key from the table semester
departmentid int(11) // foreign key from the table department
)
现在,当我插入一个主题时,它只显示SEMID上的错误,如下面的错误 无法添加或更新子行:外键约束失败
(`studentcorner/subjectdetails`, CONSTRAINT `subjectdetails_ibfk_1` FOREIGN KEY
(`SEMID`) REFERENCES `semester` (`SEMID`) ON DELETE NO ACTION ON UPDATE NO ACTION)
请帮帮我..
答案 0 :(得分:2)
错误表明您有一个无法满足的外键约束。具体来说,您尝试插入带有无效subjectdetails
列的semid
条目。您用于semid
的值无效,因为在semester
表中找不到该值。我知道这是因为您的错误消息表明了这一点。
要修复此错误,请确保您尝试为semid
列插入的值实际上首先存在于semesters
表中。
我建议您阅读文档并重新阅读Using Foreign Key Constraints部分。该页面中关于您的问题的相关报价是这个(强调我的):
对于支持外键的存储引擎,如果父表中没有匹配的候选键值,MySQL会拒绝任何尝试在子表中创建外键值的INSERT或UPDATE操作。