Sql server 2012 SQL Server:多级联操作
我有两个表,我希望HEDE2列作为HEDE表的外键引用。对于创建第二个表,它将不允许,因为它有警告: 在列级外键约束表“HEDE2”中指定了多个键 但当我试图Sql server 2012 SQL Server:多级联操作,sql-server-2012,cascade,Sql Server 2012,Cascade,我有两个表,我希望HEDE2列作为HEDE表的外键引用。对于创建第二个表,它将不允许,因为它有警告: 在列级外键约束表“HEDE2”中指定了多个键 但当我试图为外键更改表HEDE2时,它允许我这样做。有人知道为什么会这样吗。这是虫子吗 CREATE TABLE cascde.HEDE ( HedeID INT, HedeID2 INT, HedeID3 INT CONSTRAINT PK_HEDE PRIMARY KEY (HedeID, He
为外键更改表HEDE2
时,它允许我这样做。有人知道为什么会这样吗。这是虫子吗
CREATE TABLE cascde.HEDE
(
HedeID INT,
HedeID2 INT,
HedeID3 INT
CONSTRAINT PK_HEDE
PRIMARY KEY (HedeID, HedeID2, HedeID3)
)
GO
CREATE TABLE HEDE2
(
Hede2ID INT PRIMARY KEY IDENTITY(1,1) ,
HedeID INT,
HedeID2 INT,
HedeID3 INT
CONSTRAINT FK_HedeID
FOREIGN KEY (HedeID, Hede2ID, HedeID3)
REFERENCES cascde.HEDE (HedeID, HedeID2, HedeID3)
ON UPDATE NO ACTION
ON DELETE NO ACTION
)
更改表HEDE 2中的外键。这使我能够做到:
ALTER TABLE cascde.HEDE2
ADD CONSTRAINT FK_HEDE
FOREIGN KEY(HedeID, HedeID2, HedeID3)
REFERENCES cascde.HEDE (HedeID, HedeID2, HedeID3)
ON UPDATE NO ACTION
ON DELETE NO ACTION
GO
在创建表
版本中,在HedeID3 INT
之后缺少逗号(,
)。在创建表
版本中,在HedeID3 INT
之后缺少逗号(,
)