Exc*_*Cat 102 foreign-key-relationship sql-server-2008
如果我在SQL Server 2008中使用以下SQL命令来更新具有外键约束的表:
ALTER TABLE Employees
ADD FOREIGN KEY (UserID)
REFERENCES ActiveDirectories(id)
Run Code Online (Sandbox Code Playgroud)
UserID在Employees表中是我的FK专栏.我正试图UserID在我的ActiveDirectories表中引用它.我收到此错误:
外键'UserID'在引用表'Employees'时引用了无效的列'UserID'.
Blu*_*ict 182
错误表示Employees表中没有UserID列.首先尝试添加列,然后重新运行该语句.
ALTER TABLE Employees
ADD CONSTRAINT FK_ActiveDirectories_UserID FOREIGN KEY (UserID)
REFERENCES ActiveDirectories(id);
Run Code Online (Sandbox Code Playgroud)
mar*_*c_s 18
也许你的列倒了?
ALTER TABLE Employees
ADD FOREIGN KEY (UserID) <-- this needs to be a column of the Employees table
REFERENCES ActiveDirectories(id) <-- this needs to be a column of the ActiveDirectories table
Run Code Online (Sandbox Code Playgroud)
难道列被称为ID在Employees表,UserID在ActiveDirectories表?
然后你的命令应该是:
ALTER TABLE Employees
ADD FOREIGN KEY (ID) <-- column in table "Employees"
REFERENCES ActiveDirectories(UserID) <-- column in table "ActiveDirectories"
Run Code Online (Sandbox Code Playgroud)
小智 5
MySQL / SQL Server / Oracle / MS 访问:
ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
Run Code Online (Sandbox Code Playgroud)
要允许命名 FOREIGN KEY 约束,并在多个列上定义 FOREIGN KEY 约束,请使用以下 SQL 语法:
MySQL / SQL Server / Oracle / MS 访问:
ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
Run Code Online (Sandbox Code Playgroud)