link 外键到 sql 中的外键
link foreing key to a foreign key in sql
Create table StoreManagers
(ID INT ,
OfficeNumber nchar(8),
Bonus INT,
FOREIGN KEY (ID) references Employees(ID)
);
Create table Stores
(ID INT,
ManagerID INT ,
Address nvarchar(100),
Phone nchar(8),
PRIMARY KEY (ID),
FOREIGN KEY (ManagerID) references StoreManagers(ID)
);
如何link一个外键到另一个?
你的意图看起来不错。唯一的问题是您没有声明 table StoreManager
的主键 - 应该是 ID
- 因此,您不能有引用此列的外键。
这很好用(当然,假设你有一个 table Employees
,它的主键是 ID
):
CREATE TABLE StoreManagers(
ID INT,
OfficeNumber nchar(8),
Bonus INT,
PRIMARY KEY (ID),
FOREIGN KEY (ID) references Employees(ID)
);
CREATE TABLE Stores (
ID INT,
ManagerID INT,
Address nvarchar(100),
Phone nchar(8),
PRIMARY KEY (ID),
FOREIGN KEY (ManagerID) references StoreManagers(ID)
);
Create table StoreManagers
(ID INT ,
OfficeNumber nchar(8),
Bonus INT,
FOREIGN KEY (ID) references Employees(ID)
);
Create table Stores
(ID INT,
ManagerID INT ,
Address nvarchar(100),
Phone nchar(8),
PRIMARY KEY (ID),
FOREIGN KEY (ManagerID) references StoreManagers(ID)
);
如何link一个外键到另一个?
你的意图看起来不错。唯一的问题是您没有声明 table StoreManager
的主键 - 应该是 ID
- 因此,您不能有引用此列的外键。
这很好用(当然,假设你有一个 table Employees
,它的主键是 ID
):
CREATE TABLE StoreManagers(
ID INT,
OfficeNumber nchar(8),
Bonus INT,
PRIMARY KEY (ID),
FOREIGN KEY (ID) references Employees(ID)
);
CREATE TABLE Stores (
ID INT,
ManagerID INT,
Address nvarchar(100),
Phone nchar(8),
PRIMARY KEY (ID),
FOREIGN KEY (ManagerID) references StoreManagers(ID)
);