SQLServer FOREIGN KEY ON DELETE CASCADE 限制条件
-- 建立单词表
2 IF EXISTS (SELECT * FROM sysobjects WHERE name= ‘ Word ‘ )
3 DROP TABLE Word
4 CREATE TABLE Word
5 (
6 wordID int NOT NULL CONSTRAINT PK_Word PRIMARY KEY IDENTITY( 1 , 1 ),
7 -- 单词编号
8 word nvarchar( 50 ) NOT NULL CONSTRAINT UQ_Word UNIQUE,
9 -- 单词
10 )
11 GO
12
13 -- 单词关系表
14 IF EXISTS (SELECT * FROM sysobjects WHERE name= ‘ WordRelation ‘ )
15 DROP TABLE WordRelation
16 CREATE TABLE WordRelation
17 (
18 relationID int NOT NULL CONSTRAINT PK_WordRelation PRIMARY KEY IDENTITY( 1 , 1 ),
19 -- 单词关系记录编号
20 wordSID int NOT NULL CONSTRAINT FK_Word_WordRelation_S FOREIGN KEY REFERENCES Word(wordID) ON DELETE CASCADE,
21 -- 主单词编号
22 wordOID int NOT NULL CONSTRAINT FK_Word_WordRelation_O FOREIGN KEY REFERENCES Word(wordID) ON DELETE CASCADE,
23 -- 从单词编号
24 )
25 GO
报告错误为:
消息 1785 ,级别 16 ,状态 0 ,第 5 行
将 FOREIGN KEY 约束 ‘ FK_Word_WordRelation_O ‘ 引入表 ‘ WordRelation ‘ 可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
消息 1750 ,级别 16 ,状态 0 ,第 5 行
无法创建约束。请参阅前面的错误消息。
SQLServer FOREIGN KEY ON DELETE CASCADE 限制条件
标签:
查看更多关于SQLServer FOREIGN KEY ON DELETE CASCADE 限制条件的详细内容...
阅读:29次