ALTER TABLE 語句與 FOREIGN KEY 約束 "FK_TM_ProT" 沖突。該沖突發生於數據庫 "Master",表 "dbo.TProD", column 'ID'。
要建立外鍵的子表字段(如 TM_ProT.ProD_ID)中存在某些值,在父表 TProD.ID 中找不到對應記錄。外鍵約束要求子表每個非空值必須在父表主鍵/唯一鍵中存在。
-- 找出子表中無對應父表的髒數據
SELECT child.ProD_ID
FROM TM_ProT child
LEFT JOIN TProD parent ON child.ProD_ID = parent.ID
WHERE parent.ID IS NULL;
TProD 插入缺失的主鍵記錄。
ALTER TABLE TM_ProT NOCHECK CONSTRAINT FK_TM_ProT;
-- 清理/補全後
ALTER TABLE TM_ProT CHECK CONSTRAINT FK_TM_ProT;
ON DELETE CASCADE/SET NULL 明確級聯行為。