首頁  >  文章  >  資料庫  >  詳解mysql資料庫中的主鍵

詳解mysql資料庫中的主鍵

巴扎黑
巴扎黑原創
2017-05-15 15:15:122184瀏覽

主鍵介紹

如所述,主鍵值必須唯一。即,表中的每個行必須具有唯一的主鍵值。如果主鍵使用單一列,則它的值必須唯一。如果使用多個列,則這些列的組合值必須唯一。

mysql主鍵的作用

唯一標識表中每行的這個列(或這組列)稱為主鍵。沒有主鍵,更新或刪除表中特定行很困難,因為沒有安全的方法保證只設計相關的行。

迄今為止我們看到的 CREATE TABLE 範例都是用單一列作為主鍵。其中主鍵用以下的類似的語句定義:

PRIMARY KEY (vend_id )

為創建由多個列組成的主鍵,應該以逗號分隔的列表給出各列名,如下所示:

create table orderitems
(
order_num              int              NOT NULL,
order_item             int               NOT NULL,
prod_id              char(10)            NOT NULL,
quantity              int               NOT NULL,
item_price              decimal(8,2)                  NOT NULL,
PRIMARY KEY (order_num,order_item)
)ENGINE = InnoDB;

orderitems 表包含orders表中每個訂單的細節。每個訂單有多項物品,但每個訂單任何時候都只有1個第一項物品,1個第二項物品,如此等等。因此,訂單號碼( order_num 欄位)和訂單物品( order_item 欄位)的組合是唯一的,因此適合作為主鍵,其定義為:

PRIMARY KEY ( order_num,order_item)

主鍵可以在建立表格時定義(如這裡所示) ,或在建立表之後定義。

主鍵和 NULL 值   主鍵為其值唯一標識表中每個行的列。主鍵中只能使用不允許 NULL 值的欄位。允許 NULL 值的欄位不能作為唯一識別。

關於主鍵自增長,我們會在mysql建立資料表中使用AUTO_INCREMENT的詳解中會詳細講解。

【相關推薦】

  1. php中文網特別推薦php程式設計師工具箱下載(一鍵搭建php環境)

  2. mysql自增長AUTO_INCREMENT實例用法

以上是詳解mysql資料庫中的主鍵的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn