主鍵約束

主鍵約束

主鍵約束在表中定義一個主鍵來唯一確定表中每一行數據的標識符. (非空,惟一) 例如: alter table member add constraint PK_member_member_no primary key clustered (member_no) 主鍵列的數據類型不限,但此列必須是唯一併且非空。 如該表中已有主鍵為1000的行,則不能再添加主鍵為1000。 人工或程式不好控制的時候,也可以設定主鍵列為自動增長列。

概述

以下腳本均以SQLServer資料庫為準

主鍵約束在表中定義一個主鍵來唯一確定表中一行數據的標識符.

(非空,惟一)

例如:

alter table member

add

constraint PK_member_member_no primary key clustered (member_no)

主鍵列的數據類型不限,但此列必須是唯一併且非空。

如該表中已有主鍵為1000的行,則不能再添加主鍵為1000。

人工或程式不好控制的時候,也可以設定主鍵列為自動增長列。

自增列簡述

自增列的類型應為int或bigint型。可以設定起始和每次遞增數。

如:create table [table1]

(

[id] [int] identity(1,1)...

)

這樣每次插入則不需要為主鍵設定參數,資料庫會根據設定的遞增條件,自動給出主鍵值。

如以上代碼所示,則第一次插入後主鍵為1,第二次為2,依次遞增。

需要注意的是:如果這個表中有10條數據,主鍵為1-10不間斷的數字,那現在要刪除第十條數據,

繼續插入的話,id則會變成11,而不是10。通俗的說就是主鍵使用過一次將不會再次使用。

主鍵的作用

主鍵是一個表中能標識唯一行的標誌(也有其他方法表示唯一行,如唯一列)。

主鍵主要用在查詢單調數據,修改單調數據和刪除單調數據上。

一般做程式的時候,都將表的主鍵設定為int型的可自增的列,這樣在編程的時候,很容易區分數據。

刪除:delete from [table] where id=1;

修改:update [table] set col1="test" where id=1;

查詢:select * from [table] where id=1;

相關詞條

相關搜尋

熱門詞條

聯絡我們