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