當前位置:首頁 » 編程語言 » sql2005設置外鍵
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql2005設置外鍵

發布時間: 2023-06-15 22:56:39

sql server 2005中外鍵約束的使用

altertable[tbname外鍵表]
addconstraintFK_外鍵約束名foreignkey(外鍵列)
references[tbname主鍵表](主鍵列)--所引用列必須是唯一鍵
onupdatecascade--可選級聯更新
ondeletecascade--可選級聯刪除

Ⅱ sql怎麼設置外鍵(sql怎麼設置外鍵約束)

sqlserver中建立外鍵約束有3中方式:enterprisemanager中,tables,designtable,設置table的properties,可以建立constraint,referencekey;enterprisemanager中,diagrams,newdiagrams,建立兩個表的關系;直接用transactsql語句。

1、三個方法都需要先建立數據表。

1)運肆孝創建表author:

createtable[dbo].[author](

[id][bigint]notnull,[authorname][char](10)null,[address][char](480)null,[introction][ntext]null

)

2)創建表mybbs:

reatetable[dbo].[mybbs](

[id][bigint]identity(1,1)notnull,[authorid][bigint]notnull,[title][char](40)null,[date_of_created][datetime]null,[abstract][char](480)null,[content][ntext]null

)

2、設置表mybbs中的authorid為外鍵,參照author表的id欄位,直接使用transactsql語句,過程如下:

1)增加表mybbs(authorid)的外鍵約束fk_mybbs_author,表mybbs中的authorid受表author中的主鍵id約束:

begintransaction

altertabledbo.mybbsaddconstraintfk_mybbs_author

foreignkey(authorid)

referencesdbo.author([id])

2)刪除旁稿外鍵約束fk_mybbs_author:

--altertabledbo.mybbsdropconstraintfk_mybbs_author

--rollback

committransaction

上面onupdatecascade,ondeletecascade兩個選項,指明以後author表的id欄位有delete,update操作時,mybbs表中的id也會被級聯刪除或更新。如果沒有選中,是不可以對author表中已被mybbs表關聯的id進行update或者delete操作的。

拓展資料:

SQL的主鍵和外鍵的作用:

1、插入非空值時,如果主鍵表中沒有這個值,則不能插入。

2、更新時,不能改為主鍵表中沒有的值。

3、刪除主鍵表記錄時,你可以在建外鍵雹春時選定外鍵記錄一起級聯刪除還是拒絕刪除。

4、更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。

簡而言之,SQL的主鍵和外鍵就是起約束作用。