我有一个Task
作为TaskId
主键的表。另一个表作为TimeSheet
外TaskId
键。我创建了这样的外键关系
ALTER TABLE TimeSheet ADD CONSTRAINT fk_TimeSheet_TaskId FOREIGN KEY(TaskId)
REFERENCES Task (TaskId)
GO
实际上,如果我尝试删除(或更新)任务表中的一行,它应该显示有关外键关系的错误。如果我尝试在TimeSheet
表中删除,我不应该得到任何错误。
但是对我来说,如果我尝试在TimeSheet
表中删除或更新,我会收到 547 错误。外键列(表TaskId
中)允许空值。TimeSheet
我应该在这里做什么?Task
如果我尝试在父表( )中删除或更新,我想抛出错误,如果我尝试在子表( )中删除或更新,则没有错误TimeSheet
。