相关疑难解决方法(0)

MS SQL"ON DELETE CASCADE"多个外键指向同一个表?

你好,我有一个问题,我需要在指向同一个表的多个外键上级联..

[Insights]
| ID | Title        |
| 1  | Monty Python |
| 2  | Spamalot     | 

[BroaderInsights_Insights]
| broaderinsight_id | insight_id |
| 1                 | 2          |
Run Code Online (Sandbox Code Playgroud)

基本上,当洞察表中的一个或两个记录被删除时,我需要删除该关系.

我试过这个:

 CREATE TABLE broader_insights_insights(id INT NOT NULL IDENTITY(1,1),
   broader_insight_id INT NOT NULL REFERENCES insights(id) ON DELETE CASCADE,
   insight_id INT NOT NULL REFERENCES insights(id) ON DELETE CASCADE,
   PRIMARY KEY(id))
Go
Run Code Online (Sandbox Code Playgroud)

这导致警告级联"可能导致循环或多个级联路径"

所以我尝试添加一个级联到insight_id,这导致:

"DELETE语句与REFERENCE约束冲突"

有任何想法吗?

谢谢

丹尼尔

sql sql-server constraints foreign-keys cascading-deletes

21
推荐指数
1
解决办法
3万
查看次数