主鍵介紹
如所述,主鍵值必須唯一。即,表中的每個行必須具有唯一的主鍵值。如果主鍵使用單一列,則它的值必須唯一。如果使用多個列,則這些列的組合值必須唯一。
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的詳解中會詳細講解。
【相關推薦】
php中文網特別推薦:php程式設計師工具箱下載(一鍵搭建php環境)
mysql自增長AUTO_INCREMENT實例用法
以上是詳解mysql資料庫中的主鍵的詳細內容。更多資訊請關注PHP中文網其他相關文章!