INSERT语句违反外键约束FK_Schedule_Counsellor_CounsellorId求助
INSERT语句与外键约束“FK_Schedule_Counsellor_CounsellorId”冲突。冲突发生在数据库“aspnet-RapeCrisisCounsellorSystem-53bc9b9d-9d6a-45d4-8429-2a2761773502”,表“dbo.Counsellor”,列'CounsellorId'中。


问题排查思路
这个报错本质是外键约束冲突——你往Schedule表插入数据时,指定的CounsellorId在Counsellor表中找不到对应记录。
具体排查方向:
- 核对插入操作里的
CounsellorId值,去Counsellor表查是否存在该ID - 如果是手动输入ID,检查有没有拼写错误、大小写差异(部分数据库区分大小写)
- 如果是程序自动生成ID,确认插入
Schedule前,对应的Counsellor记录是否已经成功写入数据库 - 检查事务逻辑,是否存在
Schedule插入操作先于Counsellor记录提交的情况 - 确认外键约束关联的两个字段(
Schedule.CounsellorId和Counsellor.CounsellorId)数据类型是否完全一致(比如都是int,或相同长度的字符串)
内容的提问来源于stack exchange,提问作者Imaad Isaacs
相关产品推荐
相关产品推荐

