sql server给一个表内多个字段设置对应的外键
时间: 2024-09-29 07:04:06 浏览: 41
在SQL Server中,为一个表内的多个字段设置外键通常涉及到建立一个多对多(Many-Many)的关系。当你有两张表,例如员工表(Employees)和部门表(Departments),而一个员工可以属于多个部门,同时一个部门也可以包含多名员工,这时你需要在两个表之间创建连接。
首先,创建员工表(Employees):
```sql
CREATE TABLE Employees (
EmployeeID int PRIMARY KEY,
Name varchar(50),
DepartmentID int
);
```
然后,在部门表(Departments)里添加主键:
```sql
CREATE TABLE Departments (
DepartmentID int PRIMARY KEY,
DepartmentName varchar(50)
);
```
接着,你可以创建一个中间表(EmployeeDepartmentLink)作为它们之间的关联表,这个表会包含两个字段分别引用员工ID和部门ID,并设置为主键约束:
```sql
CREATE TABLE EmployeeDepartmentLink (
EmployeeID int,
DepartmentID int,
PRIMARY KEY (EmployeeID, DepartmentID),
FOREIGN KEY (EmployeeID) REFERENCES Employees(EmployeeID),
FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID)
);
```
在这个例子中,`EmployeeID` 和 `DepartmentID` 都是外键,分别引用 `Employees` 表的 `EmployeeID` 和 `Departments` 表的 `DepartmentID`,实现了多对多关系。每个记录在中间表中代表一条员工到部门的关联。
阅读全文