首页 > 解决方案 > 在表中使用两个外键和'on delete cascade'

问题描述

CREATE TABLE Comments(
    Id INT PRIMARY KEY IDENTITY(0,1),
    TEXT NOT NULL,
    Date Date NOT NULL ,
    Point INT NOT NULL DEFAULT(0), 
    ID_User INT FOREIGN KEY REFERENCES Users(Id) ON DELETE CASCADE NOT NULL,
    ID_Post INT FOREIGN KEY REFERENCES Posts(Id)  NOT NULL
)

当我从用户表中删除用户时,它显示评论表有其他参考键的错误。我必须做什么?

DELETE 语句与 REFERENCE 约束“FK__Comments__ID_Pos__76969D2E”冲突。冲突发生在数据库“Facebook”、表“dbo.Comments”、列“ID_Post”中。

标签: sqlsql-server

解决方案


如果要删除用户记录,则需要删除外键表中的记录。

在这种情况下,您需要删除Comments表中的记录。

DELETE from dbo.Commnts
Where ID_User = "userid"

然后,您可以从Users表中删除用户记录


推荐阅读