主鍵介紹
正如所述,主鍵值必須唯一。即,表中的每個行必須具有唯一的主鍵值。如果主鍵使用單個列,則它的值必須唯一。如果使用多個列,則這些列的組合值必須唯一。
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實例用法
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END