温馨提示×

sqlserver外键约束如何设置

小亿
91
2024-04-20 17:56:23
栏目: 云计算

在 SQL Server 中,可以通过以下方式设置外键约束:

  1. 在创建表时,使用 FOREIGN KEY 关键字指定外键约束。例如:

    CREATE TABLE Orders (
     OrderID int PRIMARY KEY,
     CustomerID int,
     OrderDate date,
     FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
    );
    
  2. 在已经存在的表上添加外键约束。例如:

    ALTER TABLE Orders
    ADD CONSTRAINT FK_CustomerID
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
    
  3. 可以指定外键约束的级联操作,例如当主键被删除时,外键如何处理。可以使用 ON DELETE 和 ON UPDATE 子句来指定级联操作。例如:

    ALTER TABLE Orders
    ADD CONSTRAINT FK_CustomerID
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
    ON DELETE CASCADE
    ON UPDATE CASCADE;
    
  4. 可以使用 WITH NOCHECK 子句创建外键约束,允许存在无效引用。例如:

    ALTER TABLE Orders
    WITH NOCHECK
    ADD CONSTRAINT FK_CustomerID
    FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
    

需要注意的是,在设置外键约束时,必须确保外键列和主键列的数据类型和长度相同,否则会导致设置失败。

0