0
我有一大堆FK表。更新企業管理器中的SQL表 - 外鍵問題
Table Vehicles
-----------
ColorID -> Color.ID
MakeID -> Make.ID
ModelID -> Model.ID
etc...
我的問題是我忘了幾列,我需要添加它們。我可以通過右鍵單擊表格並選擇「設計」來添加它們,但是如果我想使它們不爲NULL或刪除列,則不能。我還可以生成一個Drop /創建腳本,但我得到這個錯誤:
Msg 3726, Level 16, State 1, Line 4
Could not drop object 'dbo.SellVehicles' because it is referenced by a FOREIGN KEY constraint.
我是否需要辦理,並刪除每個FK跌得/創建,然後回加或者是有一個快速/無痛這樣做的方式?有沒有辦法快速刪除並重新創建這些FK?
爲什麼不
IF EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_SellVehicles_Conditions]') AND parent_object_id = OBJECT_ID(N'[dbo].[SellVehicles]'))
ALTER TABLE [dbo].[SellVehicles] DROP CONSTRAINT [FK_SellVehicles_Conditions]
GO
消除這個錯誤? FK是否仍在另一張桌子上被引用?
@ Blankasaurus:是的,你必須刪除/禁用對'dbo.SellVehicles'表的依賴,然後才能刪除它。 – 2010-09-18 21:28:50
這是在父表上引用我試圖修改的表的FK限制。因此,假設我有20個依賴關係,是否有一種快速生成腳本的方法,可以根據我試圖修改的表來刪除/創建這些表上的所有FK? – Jason 2010-09-18 21:31:30
禁用...是否「強制FK禁忌」=否? – Jason 2010-09-18 21:33:49