大侠帮我看看为什么报错了啊
INSERT  INTO Course(Cno,Cname,Cpno,Ccredit)
       VALUES ('1','数据库','5',4)
消息 547,级别 16,状态 0,第 1 行
INSERT 语句与 FOREIGN KEY SAME TABLE 约束"FK__Course__Cpno__1ED998B2"冲突。该冲突发生于数据库"Demo",表"dbo.Course", column 'Cno'。

解决方案 »

  1.   

    外键冲突
    Cno是一个表的外键
    你要查看是那个表的外键
    在那个表中加入Cno的数据
      

  2.   

    Cno就一个啊,我后面Cpno参照Cno
      

  3.   

    Create Table "S-T".Course
         (    Cno        char(4)  primary key,
      Cname        char(40),
      Cpno        char(4), 
      Ccredit      smallint, 
      FOREIGN KEY (Cpno) REFERENCES Course(Cno)
         );
    消息 1767,级别 16,状态 0,第 1 行
    外键 'FK__Course__Cpno__0425A276' 引用了无效的表 'Course'。
    消息 1750,级别 16,状态 0,第 1 行
    无法创建约束。请参阅前面的错误消息。/////////
    这个问题出哪儿了啊?
      

  4.   

    外键的含义先搞清楚。
    cpno为外键,需要参照cno列中的值,也就是cpno中的值必须是cno列中的值。那么当你插入
    INSERT  INTO Course(Cno,Cname,Cpno,Ccredit) 
          VALUES ('1','数据库','5',4) 这个时候你cno列中的值有没有5这个值,那么cpno也就没有可参照的,自然就报错
      

  5.   

    Cpno 是参照 Cno 的 
    所以 加数据的时候 Cpno 只能取 已存在的 Cno 值 
    你所取的Cpno值 5 不在 Cno里存在