新增或變更資料表的主索引鍵

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

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

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

本文內容

Access 中主索引鍵的概觀

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

移除主索引鍵

變更 Access 中的主索引鍵

其他資訊

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. 在 [顯示資料表] 對話方塊中選取要新增的資料表,然後依序按一下 [新增] 與 [關閉]。

      [功能區設計] 索引標籤關聯群組

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

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

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

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

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

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

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

  4. 在 [設計] 索引標籤的 [工具] 群組中,按一下 [主索引鍵]。

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

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

變更 Access 中的主索引鍵

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

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

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

其他資訊

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

頁面頂端

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×