SQL中怎么向有外键约束的表中添加数据

第一张表名为;S 主键:SNO
第二;P 主键:PNO
第三:J 主键:JNO
第四:SPJ 外键:SNO,PNO,JNO
现在想在第四张表中加入:
insert
into SPJ
values('S2','J6','P4',200)
出现了:
消息 547,级别 16,状态 0,第 2 行
INSERT 语句与 FOREIGN KEY 约束"FK__SPJ__JNO__117F9D94"冲突。该冲突发生于数据库"test",表"dbo.J", column 'JNO'。
语句已终止。
别告诉我先把约束取消了,加入进去后在添加约束....

先在S表里添加S2的记录
在P表里,添加P4的记录
在J表里添加J6的记录

最后才能在SPJ里添加你那条记录

前三个顺序可以随意调换,但是最后一条必须在满足上述三个的情况下才可以添加
不知道你的添加顺序是什么?追问

你是说在S中:
insert
into S(SNO),
value(S2)
?
但是SNO是S的主键,‘S2’在S中已经存在了啊,加不进去啊!

追答

晕,我才看出来,你插入的顺序错了

所以导致外键不存在

insert
into SPJ
values('S2','P4','J6',200)

你P4和J6写反了

追问

这个不就是SNO=‘S2’?  ä½ è¯´çš„我不太清楚。能不能把步骤写详细点。谢谢!

追答insert 
into SPJ
values('S2','P4','J6',200)

你按这个执行,你之前那个插入P4和J6写的位置不对,导致报错了

温馨提示:答案为网友推荐,仅供参考
相似回答