大侠帮我看看为什么报错了啊
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'。
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'。
解决方案 »
- sql server 运算
- sql2005 全文索引 结果和like结果不一样,还有的信息是查不到的
- 存储过程求助
- SQL 小数取6位时没有四舍五入????
- 想在SQL Server 2000中抛出自定义异常,请问有效的异常号范围是多少?
- c# 如何通过排列好的数据列,反生成对应的树结构
- 在线求助:邹建大哥,再次求助数据横向显示问题(找了好多没有符合我的要求)
- (求助)c# sql多级分类逆推(SQL最优算法)
- 各位高手帮忙!!!急急急!!!急急急!!!sql服务不能启动!
- 一个表的字段值按另一个表的值进行更新
- ACCESS 中用SQL做查询时 如何在查询结果中加入一个自增列
- 有关主键设置问题
Cno是一个表的外键
你要查看是那个表的外键
在那个表中加入Cno的数据
( 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 行
无法创建约束。请参阅前面的错误消息。/////////
这个问题出哪儿了啊?
cpno为外键,需要参照cno列中的值,也就是cpno中的值必须是cno列中的值。那么当你插入
INSERT INTO Course(Cno,Cname,Cpno,Ccredit)
VALUES ('1','数据库','5',4) 这个时候你cno列中的值有没有5这个值,那么cpno也就没有可参照的,自然就报错
所以 加数据的时候 Cpno 只能取 已存在的 Cno 值
你所取的Cpno值 5 不在 Cno里存在