建表:CREATE TABLE Course ( Cno Char(4) PRIMARY KEY, Cname Char(40), Cpno Char(4), Ccredit Int, FOREIGN KEY (Cpno) REFERENCES Course(Cno) );插入数据:INSERT INTO Course VALUES(‘1‘,‘数据库‘,‘5‘,4);INSERT INTO Course VALUES(‘2‘, ‘ 数学‘, ‘‘,2); INSERT INTO Course VALUES(‘3‘, 信息系统‘, ‘1‘,4); INSERT INTO Course VALUES(‘4‘, ‘ 操作系统‘, ‘6‘,3); INSERT INTO Course VALUES(‘5‘, ‘ 数据结构‘, ‘7‘,4); INSERT INTO Course VALUES(‘6‘, ‘数据处理‘, ‘‘,2); INSERT INTO Course VALUES(‘7‘, ‘ PASCAL语言‘, ‘6‘,4);报错:cannot add or update a child row....原因:外键限制,无法插入,在上面的例子中就是第一个插入INSERT INTO Course VALUES(‘1‘,‘数据库‘,‘5‘,4);时先导课程5没有这个选项,因此会报错,因此需要调整导入的顺序就可以了,即没有先导的课程先插入,然后插入有先导并且先导课程已经插入了的。感悟:初学数据库,而且全自学,还很需要学习!
时间: 2024-10-22 21:39:29