本文重點(diǎn)介紹在執(zhí)行Access追加查詢(xún)時(shí),遇到鍵值沖突錯(cuò)誤的三種可能原因及應(yīng)對(duì)辦法,對(duì)于更新查詢(xún)也可參照分析。對(duì)于Access初學(xué)者,經(jīng)常會(huì)碰到系統(tǒng)的出錯(cuò)提示,但又不知所云。本人總結(jié)10多年的數(shù)據(jù)庫(kù)應(yīng)用經(jīng)驗(yàn),將常見(jiàn)問(wèn)題“鍵值沖突”的三種常見(jiàn)原因分析及應(yīng)對(duì)方法分享給各位。
雖然本文的制作環(huán)境是Access2016,但操作與2010版甚至2003版是一致的。如圖,錯(cuò)誤提示,是有2條記錄由于鍵值沖突無(wú)法追加。這個(gè)追加查詢(xún)是追加4條記錄的,如果按“是”就只追加2條,如果按“否”就不執(zhí)行追加查詢(xún)(追加0條)。
方法一:
原因三,外鍵缺少記錄。如圖,訂單表和供應(yīng)商表設(shè)置了關(guān)系,供應(yīng)商表的主鍵供應(yīng)商與訂單表供應(yīng)商字段作了關(guān)聯(lián),實(shí)施參照完整性,所以訂單表的供應(yīng)商字段是外鍵。追加表中有一條含有“戊供應(yīng)商”的記錄,而供應(yīng)商表沒(méi)有對(duì)應(yīng)的記錄,這也是會(huì)造成鍵值沖突的。
應(yīng)對(duì)三,補(bǔ)值。如圖,在供應(yīng)商表補(bǔ)充“戊供應(yīng)商”的記錄。
方法二:
原因一,追加表中本身就存在重復(fù)鍵值。如圖,訂單表是被追加數(shù)據(jù)進(jìn)去的表,主鍵是訂單號(hào)。主鍵是不可為空不可重復(fù)的。這里的追加表中訂單號(hào)字段有2條記錄重復(fù)了(訂單號(hào)記錄為:D0021)。
應(yīng)對(duì)一,刪除追加表的重復(fù)記錄。經(jīng)過(guò)甄別,第2條和第4條記錄是完全相同的,刪除第4條記錄即可。
方法三:
原因二,追加表與被追加表有重復(fù)鍵值。如圖,訂單表已經(jīng)存有D0012的訂單號(hào)記錄(第3條記錄),而追加表也有這個(gè)訂單號(hào)(也是第3條記錄)。
應(yīng)對(duì)二,刪除重復(fù)記錄。經(jīng)過(guò)甄別,追加表和被追加表的這條記錄是完全相同的。可刪除追加表記錄,也可以刪除被追加表的這條記錄(如圖是后者)。
注意事項(xiàng):本范例是根據(jù)追加查詢(xún)錯(cuò)誤制作的,對(duì)于更新查詢(xún)出現(xiàn)的鍵值沖突,也可參考。
相關(guān)推薦:
Excel中使用快捷鍵快速刪除行、列、單元格的操作方法
Access怎么給表格設(shè)置主關(guān)鍵字?access設(shè)置主鍵的方法
新聞熱點(diǎn)
疑難解答
圖片精選