詳解mysql數據庫中的主鍵

主鍵介紹

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

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實例用法

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享