明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

詳細說明mysql數(shù)據(jù)庫中的主鍵

[摘要]主鍵介紹正如所述,主鍵值必須唯一。即,表中的每個行必須具有唯一的主鍵值。如果主鍵使用單個列,則它的值必須唯一。如果使用多個列,則這些列的組合值必須唯一。mysql主鍵的作用唯一標識表中每行的這個列(或這組列)稱為主鍵。沒有主鍵,更新或刪除表中特定行很困難,因為沒有安全的方法保證只設(shè)計相關(guān)的行。迄今...
主鍵介紹

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

mysql主鍵的作用

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

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

PRIMARY KEY (vend_id )

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

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表中每個訂單的細節(jié)。每個訂單有多項物品,但每個訂單任何時候都只有1個第一項物品,1個第二項物品,如此等等。因此,訂單號( order_num 列)和訂單物品( order_item 列)的組合是唯一的,從而適合作為主鍵,其定義為:

PRIMARY KEY ( order_num,order_item)

主鍵可以在創(chuàng)建表時定義(如這里所示),或者在創(chuàng)建表之后定義。

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

關(guān)于主鍵自增長,我們會在mysql創(chuàng)建數(shù)據(jù)表中使用AUTO_INCREMENT的詳解中會詳細講解到。

【相關(guān)推薦】

  1. php中文網(wǎng)特別推薦php程序員工具箱下載(一鍵搭建php環(huán)境)

  2. mysql自增長AUTO_INCREMENT實例用法

以上就是詳解mysql數(shù)據(jù)庫中的主鍵的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識。