我試圖在Appointments表和Center表之間的數據庫中建立關係。在fk表中添加與未鏈接值的關係
有關係統的一個怪癖是,如果用戶區域中沒有中心記錄,它仍然必須允許記錄預約。在這種情況下,鏈接的centreid
將具有0值。
這意味着我得到了以下錯誤:
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint 'fk_appointments_centres".
我使用創建關係的代碼如下:
alter table appointments
add constraint fk_appointments_centres
foreign key (centreid)
references centres(centreid)
on delete cascade
go
這是因爲客戶想要的功能非常重要從系統中刪除中心,在這種情況下,爲了妥善保存數據,如果中心被刪除,它也應該刪除中心的預約。
理想情況下,我希望這種關係能夠正常工作,但由於中心表上的centreid列有IDENTITY_INSERT ON
,我不認爲這會起作用。
我可以考慮2個其他選項,但它們並不理想,所以如果可能的話,我希望能夠使其工作。
任何人都可以幫我嗎?
編輯
我剛纔看到的東西MSDN上如果有人建議不驗證現有的數據。這似乎可以奏效,但這將如何影響數據輸入? Reference here
是否有外鍵不能爲空的原因? – devdigital