本文重點介紹在執行Access追加查詢時,遇到鍵值沖突錯誤的三種可能原因及應對辦法,對于更新查詢也可參照分析。對于Access初學者,經常會碰到系統的出錯提示,但又不知所云。本人總結10多年的數據庫應用經驗,將常見問題“鍵值沖突”的三種常見原因分析及應對方法分享給各位。
雖然本文的制作環境是Access2016,但操作與2010版甚至2003版是一致的。如圖,錯誤提示,是有2條記錄由于鍵值沖突無法追加。這個追加查詢是追加4條記錄的,如果按“是”就只追加2條,如果按“否”就不執行追加查詢(追加0條)。
方法一:
原因三,外鍵缺少記錄。如圖,訂單表和供應商表設置了關系,供應商表的主鍵供應商與訂單表供應商字段作了關聯,實施參照完整性,所以訂單表的供應商字段是外鍵。追加表中有一條含有“戊供應商”的記錄,而供應商表沒有對應的記錄,這也是會造成鍵值沖突的。
應對三,補值。如圖,在供應商表補充“戊供應商”的記錄。
方法二:
原因一,追加表中本身就存在重復鍵值。如圖,訂單表是被追加數據進去的表,主鍵是訂單號。主鍵是不可為空不可重復的。這里的追加表中訂單號字段有2條記錄重復了(訂單號記錄為:D0021)。
應對一,刪除追加表的重復記錄。經過甄別,第2條和第4條記錄是完全相同的,刪除第4條記錄即可。
方法三:
原因二,追加表與被追加表有重復鍵值。如圖,訂單表已經存有D0012的訂單號記錄(第3條記錄),而追加表也有這個訂單號(也是第3條記錄)。
應對二,刪除重復記錄。經過甄別,追加表和被追加表的這條記錄是完全相同的。可刪除追加表記錄,也可以刪除被追加表的這條記錄(如圖是后者)。
注意事項:本范例是根據追加查詢錯誤制作的,對于更新查詢出現的鍵值沖突,也可參考。
相關推薦:
|
新聞熱點
疑難解答