1. 程式人生 > >SQL Server 新增主外來鍵 欄位自增長

SQL Server 新增主外來鍵 欄位自增長

1.新建一個表[Student](先不考慮主外來鍵 自增長)

  • 可以使用SQL Server工具直接建立,右擊’‘表’'選擇新建表,如下:
    在這裡插入圖片描述
  • 也可以使用SQL語句直接建表,SQL語句如下:
	USE [BlogDemo]				--使用BlogDemo資料庫
	CREATE TABLE [dbo].[Student](
		ID int NOT NULL,
		StudentID int NOT NULL,
		[StudentName] [varchar](50) NULL 
	)
  • 同樣方法再建立Score和Address兩張表,SQL語句如下:
	USE [BlogDemo]				--使用BlogDemo資料庫
	
	CREATE TABLE [dbo].[Score](		 --Score表
		ID int NOT NULL,
		ScoreID int NOT NULL,
		StudentID int NOT NULL,
		Score decimal
	)
	
	CREATE TABLE [dbo].[Address](    --Address表
		ID int NOT NULL,
		AddressID int NOT NULL,
		StudentID int NOT NULL,
		Phone int,
		Address varchar(100)
	)

2.新增主外來鍵

  • 給Student表StudentID設為主鍵,SQL語句如下:
    alter table [dbo].[Student] add constraint StudentID primary key(StudentID)

  • 也可以用SQL Server工具直接建立,右擊表,選擇設計表結構,選擇欄位右擊直接設為主鍵。
    在這裡插入圖片描述

  • 同樣方法將表Score的ScoreID設為主鍵,表Address的AddressID設為主鍵。

-設定表Score的StudentID為外來鍵關聯到表Student的StudentID,SQL語句如下:
    ALTER TABLE [dbo].[Score] ADD FOREIGN KEY (StudentID) REFERENCES [dbo].[Student](StudentID)

  • 也可以利用SQL Server工具設定外來鍵,設計表,選擇欄位右擊屬性,選擇關係
    在這裡插入圖片描述
    進入外來鍵新增欄,如下:
    在這裡插入圖片描述
    選擇2進入新增外來鍵欄,完成儲存即可。
    在這裡插入圖片描述

  • 同樣方法可以設定表Address的StudentID為外來鍵關聯到表Student的StudentID

3.設定欄位自增長

  • 設定表Student的ID為自增長,當表一開始建立時沒有新增自增長,後期新增自增長需要刪除自增長的欄位重新新增才可以設定為自增長,這時候會導致資料丟失,所以在建表時我們建表需要考慮。
  • 建完表後設置自增長SQL語句如下:
    alter table [dbo].[Student] drop column ID --先刪除欄位

    alter table [dbo].[Student] add ID int identity(1,1) --新增自增長欄位,(1,1)意為自增長從1開始,每次增長1
  • 利用工具實現,設計表中,選擇欄位行後,下面會有列屬性,進入“標識規範”中,開啟標識,設定自增長從幾開始,每次增長几。
    在這裡插入圖片描述
  • 同樣方法可以設定Score和Address的AddressID的ID為自增長欄位。