sql server 2008 - tabla - SQL Agregar clave externa a la columna existente
rename table sql server (6)
¿Tal vez tienes tus columnas al revés?
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
¿Podría ser que la columna se llame ID
en la tabla Employees
, e ID
UserID
en la tabla ActiveDirectories
?
Entonces tu comando debería ser:
ALTER TABLE Employees
ADD FOREIGN KEY (ID) <-- column in table "Employees"
REFERENCES ActiveDirectories(UserID) <-- column in table "ActiveDirectories"
Si estoy usando el siguiente comando SQL en SQL Server 2008 para actualizar una tabla con una restricción de clave externa:
ALTER TABLE Employees
ADD FOREIGN KEY (UserID)
REFERENCES ActiveDirectories(id)
UserID
es mi columna FK en la tabla Employees
. Estoy tratando de hacer referencia al UserID
de UserID
en mi tabla ActiveDirectories
. Recibo este error:
La clave externa ''UserID'' hace referencia a la columna no válida ''UserID'' en la tabla de referencia ''Empleados''.
El error indica que no hay una columna UserID en su tabla de Empleados. Intente agregar la columna primero y luego vuelva a ejecutar la declaración.
ALTER TABLE Employees
ADD CONSTRAINT FK_ActiveDirectories_UserID FOREIGN KEY (UserID)
REFERENCES ActiveDirectories(id);
En el futuro.
ALTER TABLE Employees
ADD UserID int;
ALTER TABLE Employees
ADD CONSTRAINT FK_ActiveDirectories_UserID FOREIGN KEY (UserID)
REFERENCES ActiveDirectories(id);
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
Para permitir el nombre de una restricción FOREIGN KEY y para definir una restricción FOREIGN KEY en varias columnas, use la siguiente sintaxis SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
forma de creación de clave externa correcta para ActiveDirectories (id), creo que el error principal es que no mencionó la clave principal para la identificación en la tabla ActiveDirectories
ALTER TABLE Faculty
WITH CHECK ADD CONSTRAINT FKFacultyBook
FOREIGN KEY FacId
REFERENCES Book Book_Id
ALTER TABLE Faculty
WITH CHECK ADD CONSTRAINT FKFacultyStudent
FOREIGN KEY FacId
REFERENCES Student StuId