当我尝试向表格添加约束时,我遇到了问题.我收到错误:
在表'Employee'上引入FOREIGN KEY约束'FK74988DB24B3C886'可能会导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束.
我的约束是在Code表和employee表之间.该Code表包括Id,Name,FriendlyName,Type和Value.在employee具有许多参考代码,使得可以存在对于每种类型的码的参考字段.
如果删除引用的代码,我需要将字段设置为null.
我有什么想法可以做到这一点?
我正在使用SQlServer 2008,下面显示了一些数据表的摘录:
Id(PK)
UserId(PK)ItemId(PK) - (2列的复合键)...
UserId(PK)ItemId(PK)VoterId(PK) - (3列的复合键)
我定义了以下关系:
现在,我在打开级联删除时遇到问题.添加第三个关系时,我收到错误"...可能导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束." 我真的不想这样做,理想情况下,如果用户被删除,我想删除他们的用户项和/或他们的投票.
这是一个糟糕的设计吗?或者有没有办法从SQL Server获得我想要的行为?