【问题标题】:Create two foreign key from one table SQL Server从一个表 SQL Server 创建两个外键
【发布时间】:2015-05-10 21:26:07
【问题描述】:

我正在创建这样的用户表:

CREATE TABLE TblUser 
(
     UserId int identity primary key, 
     Name varchar(20)
)

再创建一张表

CREATE TABLE TblAnnouncements 
(
     Id int identity primary key,
     Announcements varchar(20),
     CreatedBy INT 
         FOREIGN KEY REFERENCES TblUser (USERID)  
            ON DELETE  CASCADE, 
     UpdatedBy INT 
         FOREIGN KEY REFERENCES TblUser (USERID)  
            ON DELETE SET NULL
)

我收到此错误

消息 1785,第 16 级,状态 0,第 1 行
在表“TblAnnouncements”上引入 FOREIGN KEY 约束“FK__TblAnnoun__Updat__60A75C0F”可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。

如何在一个表中维护createdbyupdatedby

您能建议任何其他方法吗?

谢谢

【问题讨论】:

  • 您应该始终为您提供外键约束显式名称,这样您就不必处理FK__TblAnnoun__Updat__60A75C0F ....跨度>

标签: sql-server database


【解决方案1】:

在创建普通表后尝试创建 FK 约束。即 ALTER TABLE ADD 约束语法

【讨论】:

    猜你喜欢
    • 2019-02-20
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多