[英]Linking Two Foreign Keys to one Primary Key
我有两个表,一个摄影师表和一个影响表。 在“影响”表中,一个摄影师可以影响其他摄影师。
关系架构:
这是我在SQL中的图表:
实例示例:
我的问题是,当我尝试删除摄影师Tom时,由于他影响了Jason(如Impacts表中所示),因此出现错误:
DELETE语句与REFERENCE约束“ FK_Influences_Photographer1”冲突。 数据库“ jma59”的表“ dbo.Influences”中发生了冲突
如果Tom在Impacts表的EPName列中,则删除它没有问题。 我知道这是一个外键问题,但是我不确定如何处理这种情况。 我创建了两个单独的外键,这些外键引用了摄影师的主键。 但是问题是我无法做到这两个外键都在更新和删除时级联。
第一个外键是EPName和EPBDate,引用摄影师的PName和PBDate
第二个外键是RPName和RPBDate,也指摄影师的PName和PBDate。
错误是:
无法创建关系“ FK_Influences_Photographer1”。 在表“ Influences”上引入FOREIGN KEY约束“ FK_Influences_Photographer1”可能会导致循环或多个级联路径。 指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。
任何意见是极大的赞赏!
您可以考虑使用触发器而不是级联删除来实现参照完整性: https : //support.microsoft.com/en-gb/help/321843/error-message-1785-occurs-when-you-create-a-外键约束-THA
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.