我有以下T-SQL在VS2013:不會指定一個外鍵約束讓我陷入麻煩?
CREATE TABLE [dbo].[Jugo]
(
[JugoID] INT IDENTITY (1, 1) NOT NULL,
[Jugo] NVARCHAR (50) NOT NULL,
[ColorID] INT NOT NULL,
[IngreID] INT NOT NULL,
PRIMARY KEY CLUSTERED ([JugoID] ASC),
FOREIGN KEY (ColorID) REFERENCES Color (ColorID)
ON UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (IngreID) REFERENCES Ingrediente (IngreID)
ON UPDATE CASCADE ON DELETE CASCADE
);
我更新資料庫之前得到以下信息:
亮點 無
用戶動作 創建 外鍵:[dbo]上的未命名約束[Jugo](外鍵) 外鍵:[dbo上的未命名約束] [Jugo](外鍵)
支持行動 無
我可以繼續執行這些不願透露姓名的限制?我需要什麼約束?
供參考,這是我想要做的事:
3個表:
Jugo
,Color
,Ingrediente
:所以創建指定名稱,顏色和成分的jugo(汁),色和成分在他們自己的表上,因此我想定義的外鍵。
謝謝。
您可以繼續 - SQL Server只會給這些外鍵約束賦予系統定義的名稱。它們仍然可以工作,所有 - 如果您需要放棄/禁用FK約束,它會變得更加困難,因爲約束的**名稱**由SQL Server未知/隨機創建。 – 2015-02-09 06:11:30
有一個很好的答案,爲什麼你應該指定foreighn鍵約束:http://dba.stackexchange.com/questions/15388/where-should-you-define-foreign-keys – 2015-02-09 06:22:00