create table course(
Cno  char(4)      primary key,
Cname char(40)    not null,
Cpno  char(4)    ,
Ccredit smallint  not null,
 foreign key(Cpno) references course(Cno)
);
用以下方法插入数据:
insert into  course( Cno,Cname,Cpno,Ccredit) value(‘1’,'数据库',‘5’,4);
发现有错误: 求解决的办法,本人感激万分!ERROR  1452

解决方案 »

  1.   

    Cno、Cpno是外键约束,检查一下
      

  2.   

    先插入course表 先让course表有Cpno为'5'的记录 然后再执行你的那条语句就可以啦
    这是因为外键约束不允许插入父表中不存在的记录
      

  3.   

    数据库 
    这个在course(Cno)里面必须要有
      

  4.   

    这样子的表设计应该就会有问题吧!
    主键是char(4),你插入数据的时候更加应该很小心
    外键引用自身主键
    楼上几位已经说了解决方案了,你先把外键去掉,或者先插入一条主键为5的数据
      

  5.   

    insert into table_name values 写成value也能插入吗?
      

  6.   

    insert into  course( Cno,Cname,Cpno,Ccredit) values(‘1’,'数据库',‘5’,4);