sqlserver2008設置外鍵
❶ sql server 中 在已經有的數據表中,如何添加一列外鍵
可以先添加欄位,然後再在欄位上建立外鍵,分以下兩步:
如表名為sc,其中添加一個欄位為sid,是student表中sid的外鍵,可用以下語句:
1、
altertablescaddsidvarchar(20);
2、
altertablescaddconstraintfk_sidforeignkey(sid)referencesstudent(sid);
外鍵含義:
如果公共關鍵字在一個關系中是主關鍵字,那麼這個公共關鍵字被稱為另一個關系的外鍵。由此可見,外鍵表示了兩個關系之間的相關聯系。以另一個關系的外鍵作主關鍵字的表被稱為主表,具有此外鍵的表被稱為主表的從表。外鍵又稱作外關鍵字。
❷ sql server如何添加外鍵
我們使用sql server創建數據表的時候,經常需要建立表之間的外鍵約束關系,那麼如何添加外鍵呢?下面我給大家分享一下。
工具/材料
sql server
首先我們先來建立兩個表,如下圖所示,班級表和年級表
然後右鍵單擊班級表,在彈出的菜單中選擇關系選項,如下圖所示
接下來在彈出的表和關系界面中設置外鍵對應欄位,如下圖所示
最後我們就可以在左側看見外鍵約束關系了,如下圖所示
❸ sql server如何添加外鍵
在SQL Server中添加外鍵的步驟如下:
創建相關表:
- 首先,確保你已經創建了兩個相關的表,其中一個表將包含外鍵,另一個表是外鍵所引用的表。
使用SQL Server管理工具添加外鍵:
- 打開SQL Server Management Studio 並連接到你的資料庫實例。
- 右鍵單擊包含外鍵的表,在彈出的菜單中選擇「設計」或「關系」。
- 如果選擇「設計」,則在打開的表設計器中,找到「表設計器」菜單,然後選擇「關系…」。
- 在「表和關系」窗口中,點擊「添加」按鈕來添加一個新的關系。
- 設置外鍵對應欄位:
- 在「表和列規范」中,選擇你的外鍵表和主鍵表。
- 為外鍵表和主鍵表指定相應的列。例如,班級表中的年級ID列應該對應年級表中的年級ID列。
- 配置外鍵約束:
- 你可以配置外鍵約束的名稱、是否允許刪除或更新等操作。
- 保存更改:
- 完成設置後,點擊「確定」或「保存」來應用外鍵約束。
使用TSQL語句添加外鍵:
- 你也可以使用TSQL語句直接在查詢窗口中添加外鍵。例如:sqlALTER TABLE 班級表ADD CONSTRAINT FK_班級表_年級表FOREIGN KEY REFERENCES 年級表; 在這個例子中,FK_班級表_年級表 是外鍵約束的名稱,年級ID 是班級表中的外鍵列,它引用了年級表中的 年級ID 列。注意事項: 確保外鍵列和主鍵列的數據類型相同。 在添加外鍵之前,確保沒有違反外鍵約束的數據存在,否則添加外鍵的操作會失敗。 外鍵約束有助於維護數據的完整性和一致性。
❹ sql怎麼設置外鍵
sql server中建立外鍵約束有3中方式:enterprise manager中,tables,design table,設置table的properties,可以建立constraint, reference key;enterprise manager中,diagrams, new diagrams,建立兩個表的關系;直接用transact sql語句。
1、三個方法都需要先建立數據表。
1)創建表author :
create table [dbo].[author] (
[id] [bigint] not null ,
[authorname] [char] (10) null ,
[address] [char] (480) null ,
[introction] [ntext] null
)
2)創建表mybbs:
reate table [dbo].[mybbs] (
[id] [bigint] identity (1, 1) not null ,
[authorid] [bigint] not null ,
[title] [char] (40) null ,
[date_of_created] [datetime] null ,
[abstract] [char] (480) null ,
[content] [ntext] null
)
2、設置表mybbs中的authorid為外鍵,參照author表的id欄位,直接使用transact sql語句,過程如下:
1)增加表mybbs(authorid)的外鍵約束fk_mybbs_author,表mybbs中的authorid受表author中的主鍵id約束:
begin transaction
alter table dbo.mybbs add constraint fk_mybbs_author
foreign key (authorid)
references dbo.author([id]) on update cascade on delete cascade
2)刪除外鍵約束fk_mybbs_author:
--alter table dbo.mybbs drop constraint fk_mybbs_author
--rollback
commit transaction
上面on update cascade,on delete cascade兩個選項,指明以後author表的id欄位有delete,update操作時,mybbs表中的id也會被級聯刪除或更新。如果沒有選中,是不可以對author表中已被mybbs表關聯的id進行update或者delete操作的。
拓展資料:
SQL的主鍵和外鍵的作用:
1、插入非空值時,如果主鍵表中沒有這個值,則不能插入。
2、更新時,不能改為主鍵表中沒有的值。
3、刪除主鍵表記錄時,你可以在建外鍵時選定外鍵記錄一起級聯刪除還是拒絕刪除。
4、更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。
簡而言之,SQL的主鍵和外鍵就是起約束作用。