2013-08-22 45 views
0

場景:我有一張表(客戶)。它有一個組合鍵,其中一個是「Relationship_num」,其大小爲varchar(30)。其中有足夠的數據。和21個依賴表。增加具有衆多依賴關係的主鍵列大小

問題:插入關係號大於列大小的記錄。所以現在我想增加它的大小。

不成功解決方法:當我做出了嘗試以改變大小,它顯示錯誤:對象「PK_CUSTOMER」依賴於列「RELATIONSHIP_NUM'.And其對客戶的依賴那些表21個其他錯誤表。

然後我試圖放棄「PK_CUSTOMER」:

ALTER TABLE [dbo].[CUSTOMER] DROP CONSTRAINT [PK_CUSTOMER] 

這就造成了以下錯誤:

約束「PK_CUSTOMER」是由表「的一些表」,外鍵約束引用「 RefCUSTOMER447'。不能放棄限制。查看以前的錯誤。

現在製作所有這些約束的腳本(創建和刪除)可能會讓我很煩瑣。

Plz幫我解決這個問題!

+0

您是否曾嘗試在增加父表之前增加子表中列的大小? –

+0

大約有21張兒童桌......因此,我正在嘗試一些聰明的技巧 – Sadiq

+0

對,這不應該由人手完成。你應該能夠適應這個例子來修改子列的大小:http://stackoverflow.com/questions/3441251/how-to-get-list-of-child-tables-for-a-database-table –

回答

0

您可以手動創建腳本,而不用創建腳本。稍微需要1分鐘。

1.Go to design view of your table colums. 
2.Right click on the primary key. 
3.Choose Relationships. 
4.Remove all references from there. 
5.Alter your table. 
6.Re add your References. 
相關問題