删除SQL Server

时间:2017-08-30 14:55:07

标签: sql sql-server sql-server-2008

我有一个表,当我从SQL Server Management Studio创建一个定义时,我得到了这个

CREATE TABLE [dbo].[Settings]
(
    [SettingsID] [int] NOT NULL,    
    [Contact1] [uniqueidentifier] NULL,

    CONSTRAINT [PK_Settings] 
        PRIMARY KEY CLUSTERED ([SettingsID] ASC)
) ON [PRIMARY]
GO

ALTER TABLE [dbo].[Settings] WITH CHECK 
    ADD FOREIGN KEY([Contact1])
    REFERENCES [dbo].[User] ([UserSID])
GO

我正在尝试删除Contact1列并删除外键

当我尝试直接删除列时,我得到了这个

ALTER TABLE Settings
    DROP COLUMN Contact1

错误:

  

对象'FK__GlobalSet_72E607DB'依赖于列'Contact1'   Msg 4922,Level 16,State 9,Line 24
  ALTER TABLE DROP COLUMN Contact1失败,因为一个或多个对象访问此列。

当我尝试首先删除外键时

ALTER TABLE Settings
   DROP CONSTRAINT Contact1

错误:

  

Msg 3728,Level 16,State 1,Line 24
  'Contact1'不是约束。
  Msg 3727,Level 16,State 0,Line 24
  无法删除约束。查看以前的错误。

有人可以告诉我如何删除现有表上的一个外键列。

由于

1 个答案:

答案 0 :(得分:0)

放弃约束' FK__GlobalSet_72E607DB'