SqlServer

sqlserver外键约束如何设置

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

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

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

```sql

CREATE TABLE Orders (

OrderID int PRIMARY KEY,

CustomerID int,

OrderDate date,

FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)

);

```

2. 在已经存在的表上添加外键约束。例如:

```sql

ALTER TABLE Orders

ADD CONSTRAINT FK_CustomerID

FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);

```

3. 可以指定外键约束的级联操作,例如当主键被删除时,外键如何处理。可以使用 ON DELETE 和 ON UPDATE 子句来指定级联操作。例如:

```sql

ALTER TABLE Orders

ADD CONSTRAINT FK_CustomerID

FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)

ON DELETE CASCADE

ON UPDATE CASCADE;

```

4. 可以使用 WITH NOCHECK 子句创建外键约束,允许存在无效引用。例如:

```sql

ALTER TABLE Orders

WITH NOCHECK

ADD CONSTRAINT FK_CustomerID

FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);

```

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

0
看了该问题的人还看了