2012-04-30 7 views
80

に外部キーを追加します。 。私はUserIDを私のActiveDirectoriesテーブルに参照しようとしています。SQLは、既存の列

Foreign key 'UserID' references invalid column 'UserID' in referencing table 'Employees'.

+1

をidの主キーを言及していなかったと思い? –

+0

このリンクを参照してくださいhttp://stackoverflow.com/questions/35196951/how-can-id-assign-foreign-key-mysqli/35197004#35197004 – iOS

答えて

151

エラーは、EmployeesテーブルにUserID列がないことを示します。最初に列を追加してから、文を再実行してください。

ALTER TABLE Employees 
ADD CONSTRAINT FK_ActiveDirectories_UserID FOREIGN KEY (UserID) 
    REFERENCES ActiveDirectories(id); 
+0

これは正しいです。私たちのDBは追加列を更新していませんでした。これは解決されましたが、私たちの列が確立されているわけではありません。 '外部キー 'FK__Employees__UserI__04E4BC85'の参照列リストと一致する参照先テーブル 'ActiveDirectories'にプライマリキーまたは候補キーがありません。 – ExceptionLimeCat

+0

FK__Employees__UserI__4E4BC85によって参照されている列のように見えますが、ActiveDirectoriesのPRIMARY KEYまたは候補キー表。 – BluesRockAddict

+0

確かにそうですが、ActiveDirectoriesテーブルのPKは間違いありません。 – ExceptionLimeCat

16

多分あなたはあなたの列を後方に持っていますか?

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 

は、それは列がEmployeesテーブルでIDと呼ばれているということ、そしてActiveDirectoriesテーブルでUserIDてもらえますか?

次に、あなたのコマンドは次のようになります。

ALTER TABLE Employees 
ADD FOREIGN KEY (ID)     <-- column in table "Employees" 
REFERENCES ActiveDirectories(UserID) <-- column in table "ActiveDirectories" 
+1

私はその奇妙なことを知っていますが、残念なことにActiveDirectoryテーブルのIDの名前は – ExceptionLimeCat

2

のMySQL/SQL Serverの/オラクル/ MSアクセス:

ALTER TABLE Orders 
ADD FOREIGN KEY (P_Id) 
REFERENCES Persons(P_Id) 

FOREIGN KEY制約のネーミングを可能にするには、およびFOREIGN KEY制約を定義するための

MySQL/SQL Server/Oracle/MSアクセス:

を使用して、複数の列で次のSQL構文を使用します。 ActiveDirectories(ID)のための正しい外部キー作成の
ALTER TABLE Orders 
ADD CONSTRAINT fk_PerOrders 
FOREIGN KEY (P_Id) 
REFERENCES Persons(P_Id) 
0

の方法は、私は、メインの間違いは、あなたの2つのテーブルのスキーマを提供することができますが、ActiveDirectoriesテーブルに

0
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 
+3

です – fen1x

関連する問題