categories: 数据库
tags: 数据库
最近一次数据库作业,往Course表中插入数据,报错了,花了好久才弄明白。都是被参照性坑的。
定义Course表中有一段这样代码
FOREIGN KEY(Cpno) REFERENCES Course(Cno)
//表级完整性约束,Cpno是外码,被参照表是自己 ---就是这个坑,参照表是自己
所以,先行课要先存在数据库中的表中,我才能插入(先行课已经存在表中)的课程。因此就要要求插入顺序了,正确地顺序应该是这样子
先插入先行课为空的课程,再按照存在的课程2、6,找到先行课为2、6的课程插入,以此类推
总结:课程的先行课要在表中存在,课程才能插入成功
课要在表中存在,课程才能插入成功