Estoy tratando de agregar una clave externa a una mesa, y me da el siguiente error:La adición de clave externa, SQL Server 2008
There are no primary or candidate keys in the referenced table 'tbl_Person' that match the referencing column list in the foreign key 'P_ID'.
Tengo un tbl_Person, que se define como:
P_ID INT (Primary Key)
f_Name,
l_Name
la otra mesa es una mesa de comentarios que se define como:
C_ID INT,
Comments,
P_ID (should be the foreign key)
Tratando de hacer una mesa de uno a muchos relación, así que cuando el el usuario agrega un comentario, se le hace referencia, también puede agregarlo a los comentarios sin inicializar un nuevo comentario. Espero que tenga un poco de sentido.
Ejemplo: Randy Bing escribe "Me encanta SQL", su ID es 1, f_Name es Randy, l_Name es Bing, sus comentarios son "I love Sql". Sus comentarios deben almacenar una identificación única, así como importar su P_ID.
Más tarde cuando Randy quiere agregar al comentario con el mismo C_ID donde P_ID lo combina sin crear un nuevo C_ID.
Aquí está el código:
ALTER TABLE tbl_Comments
ADD CONSTRAINT P_ID
FOREIGN KEY (P_ID)
REFERENCES tbl_Person(P_ID)
Am cierro a estar en el camino correcto?
¿Qué SQL estás usando por favor? – gbn
T-SQL (SQL SERVER 2008) – jpavlov
El código de formato de llaves, ya sabes – gbn