新增或變更資料表的主索引鍵
Applies ToMicrosoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

主索引鍵是具有值的一個欄位或一組欄位,這些值在整個資料表中都是唯一值。 索引鍵的值可以用來參照整個記錄,因為每筆記錄都有不同的索引鍵值。 每個資料表只能有一個主索引鍵。 當您建立資料表時,Access 可以自動建立主索引鍵欄位,或者您可以指定要做為主索引鍵的欄位。 本文將說明如何使用主索引鍵及其使用原因。

若要設定資料表的主索引鍵,請在 [設計檢視] 中開啟資料表。 選取要使用的欄位,然後在功能區按一下 [主索引鍵]。

附註: 本文專用於 Access 桌面資料庫。 Access 會自動管理 Access Web 應用程式和 Web 資料庫中新資料表的主索引鍵。 雖然您可以覆寫這些自動主索引鍵,但我們不建議您這麼做。

本文內容

Access 中主索引鍵的概觀

Access 使用主索引鍵欄位快速地關聯多個資料表中的資料,並以有意義的方式將其合併。 您可以在其他資料表中包含主索引鍵欄位,以便參照回主索引鍵的來源資料表。 在其他資料表中,這些欄位稱為外部索引鍵。 例如,[客戶] 資料表中的 [客戶識別碼] 欄位可能也會出現在 [訂單] 資料表。 在 [客戶] 資料表中,該欄位為主索引鍵。 在 [訂單] 資料表中,則稱為外部索引鍵。 簡單來說,外部索引鍵就是另一個資料表的主索引鍵。 如需詳細資訊,請參閱資料庫設計的基本概念

顯示兩個 Access 資料工作表之間的主索引鍵和外部索引鍵

1. 主索引鍵

2. 外部索引鍵

如果您正在將現有的資料移至資料庫,您可能已經有一個可以用作主索引鍵的欄位。 識別碼或序號或代碼等唯一識別碼,通常可做為資料表中的主索引鍵。 例如,您可能有一個 [客戶] 資料表,資料表中的每一個客戶都有一個唯一的客戶識別碼編號。 該客戶識別碼欄位即為主索引鍵。

Access 會自動建立主索引鍵的索引,以便加快查詢和其他操作的速度。 Access 還會確保每筆記錄的主索引鍵欄位中都具有值,且是唯一的值。

在 [資料工作表檢視] 中建立新的資料表時,Access 會自動建立主索引鍵,並為其指派 "識別碼" 欄位名稱及 [自動編號] 資料類型。

什麼是理想的主索引鍵?

要做為主索引鍵,最好具備下列特徵:

  • 可以唯一識別每一個資料列

  • 它絕不會是空白或 Null,一定含有值

  • 所包含的值極少變更 (最好是永不變更)

如果您無法找出良好的索引鍵,請建立 [自動編號] 類型的欄位當做索引鍵。 [自動編號] 類型的欄位會在每筆記錄第一次儲存時自動其身產生一個值。 因此,[自動編號] 類型的欄位符合理想主索引鍵的三個特性。 如需新增 [自動編號] 欄位的詳細資訊,請參閱新增 [自動編號] 欄位做為主索引鍵一文。

在 Access 資料表 [設計檢視] 中自動編號主索引鍵標示為識別碼

[自動編號] 類型的欄位很適合當做主索引鍵。

不理想主索引鍵的範例

缺乏一或多項上述主索引鍵特性的任何欄位,都不是主索引鍵的理想選擇。 以下是一些欄位的範例,說明哪些欄位對「連絡人」資料表來說是不理想的主索引鍵,並說明不適當的理由。

不理想的主索引鍵

原因

個人姓名

可能並非絕對的唯一資訊,且可能變更

電話號碼

可能會變更。

電子郵件地址

可能會變更。

郵遞區號

可能有很多人都有同樣的郵遞區號

結合事實和數字

事實部分可能會變更,造成維護上的負擔。 如果事實部分在其他欄位重複,可能會導致混淆。 例如,如果城市也儲存為一個欄位,合併城市和遞增數字 (例如 NEWYORK0579) 就不是好選擇。

社會安全號碼

  • 私人資訊,禁用於政府部門及部分組織。

  • 有些人沒有 SSN

  • 一生中可能擁有一個以上

複合式索引鍵:使用多個欄位組合為主索引鍵

在有些情況下,您希望將資料表中兩個或多個欄位做為主索引鍵。 例如,儲存訂單明細項目的「訂單詳細資料」資料表可能在它的主索引鍵中使用兩個欄位:「訂單識別碼」與「產品識別碼」。 具有一個以上欄位的索引鍵就稱為「複合索引鍵」。

使用 Access 已經有的欄位設定主索引鍵

為了能讓主索引鍵運作正常,此欄位必須能唯一識別每個資料列,同時不含空白或 Null 值,也極少變更 (最好是永不變更)。 若要設定主索引鍵:

  1. 開啟要修改的資料庫。

  2. 在 [瀏覽窗格] 中,以滑鼠右鍵按一下要設定主索引鍵的資料表,然後按一下捷徑功能表上的 [設計檢視]。

    提示: 如果沒看到 [瀏覽窗格],請按下 F11 以顯示該窗格。

  3. 選取要用來當做主索引鍵的一或多個欄位。

    若要選取一個欄位,請按一下所要欄位的資料列選取器。

    若要選取多個欄位來建立複合索引鍵,請按住 CTRL,然後按一下各欄位的資料列選取器。

  4. 在 [ 數據表設計] 索引 標籤的 [ 工具] 群組中,按兩下 [ 主鍵]

    設計索引標籤上的工具群組

    您指定做為主索引鍵的欄位左側會新增索引鍵指示器。

移除 Access 中的主索引鍵

移除主索引鍵後,原先做為主索引鍵的欄位將不再是識別記錄的主要方式。

移除主索引鍵不會從資料表刪除該欄位,但會移除主索引鍵的索引。

  1. 在移除主索引鍵之前,必須先確定該索引鍵不涉入任何資料表關聯。 若嘗試移除的主索引鍵是一或多項關聯的一部分,Access 會提出警告,要求您先刪除關聯。若要刪除資料表關聯,請完成下列步驟:   

    1. 如果涉及資料表關聯的資料表為開啟狀態,請將其關閉。 若資料表為開啟狀態,您將無法刪除資料表之間的資料表關聯。

    2. 在 [資料庫工具] 索引標籤上的 [資料庫關聯圖] 群組中,按一下 [資料庫關聯圖]。

      Access 功能區影像

    3. 選取 [新增表格]。

    4. 針對要刪除的資料表關聯,按一下資料表關聯線 (選取時會以粗體顯示),然後按下 DELETE 鍵。

    5. 在 [ 資料庫關聯設計] 索引 標籤上,按兩下 [ 資料庫關聯圖 ] 群組中的 [ 關閉]

  2. 刪除關聯後,在 [瀏覽窗格] 中,以滑鼠右鍵按一下要移除主索引鍵的資料表,然後按一下 [設計檢視]。

    提示: 如果沒看到 [瀏覽窗格],請按下 F11 以顯示該窗格。

  3. 按一下目前主索引鍵的資料列選取器。

    如果主索引鍵只包含單一欄位,請按一下該欄位的資料列選取器。

    如果主索引鍵包含多個欄位,請按一下主索引鍵中任意欄位的資料列選取器。

  4. 在 [ 數據表設計] 索引 標籤的 [ 工具] 群組中,按兩下 [ 主鍵]

    索引鍵指示器即會從您先前指定為主索引鍵的一或多個欄位中移除。

附註: 儲存新資料表時,如果沒有設定主索引鍵,Access 會提示您建立主索引鍵。 若選擇 [是],Access 就會建立 [自動編號] 資料類型的 [識別碼] 欄位,為每筆記錄提供唯一值。 若資料表已經包含 [自動編號] 類型的欄位,Access 便會使用該欄位做為主索引鍵。

變更 Access 中的主索引鍵

若要變更資料表的主索引鍵,您可以執行下列步驟:

  1. 依照<移除主索引鍵>一節的指示,移除現有的主索引鍵。

  2. 依照<設定主索引鍵>一節的指示,設定主索引鍵。

其他資訊

如需資料庫設計及選擇適當主索引鍵的詳細資訊,請參閱下列文章:

頁面頂端

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。