2013-11-21 90 views
0

我使用這個語句來添加一個約束或添加一個外鍵。Msg 547,Level 16,State 0,Line 1(please help)

USE Kudler1_FF 
ALTER TABLE Employee_Tbl 
ADD FOREIGN KEY (JobTitle) 
REFERENCE Job_Tbl (JobTitle) 

這一個:

Alter TABLE Employee_Tbl 
ADD Constraint FK_JobTitle 
FOREIGN KEY (JobTitle) 
REFERENCES Job_Tbl(JobTitle) 

,但現在我得到這個錯誤:

Msg 547, Level 16, State 0, Line 1

The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_JobTitle". The conflict occurred in database "Kudler1_FF", table "dbo.Job_Tbl", column 'JobTitle'.

+1

檢查你的表已經有'JobTitle'的外鍵。 – MusicLovingIndianGirl

+1

你跑了嗎?他們做同樣的事情,第一個只給了約束一個默認的guid類型的名字。使用SSMS UI在對象資源管理器中展開您的表格,然後在'鍵'下查找具有guid類型名稱的表格。改變你的表並放下那個鍵,然後運行你的第二個聲明外鍵的語句。 – ps2goat

回答

2

創建約束或外鍵,因爲數據庫之前,表Employee_Tbl必須是空的引擎將驗證此表上的數據。如果表中已經有一些與Job_Tbl不匹配的數據,您將收到錯誤消息。希望有所幫助。

0

將記錄添加到父表中不存在該記錄的子表時出現此錯誤。插入記錄時會發生這種情況。

你的問題是一樣的,你已經在子表Employee一些記錄不存在於父表Job_Tbl

相關問題