2017-08-30 18 views
0

私はContact1列を削除し、外部キーをドロップしようとしています、私はSQL Server Management Studioのから定義を作成するとき、私はこのSQL Serverで外部キーや列を削除する

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 

を取得するテーブルを持っています

私が直接列を削除しようとすると、私はこの

ALTER TABLE Settings 
    DROP COLUMN Contact1 

エラーを取得:

The object 'FK__GlobalSet_72E607DB' is dependent on column 'Contact1'.
Msg 4922, Level 16, State 9, Line 24
ALTER TABLE DROP COLUMN Contact1 failed because one or more objects access this column.

私は削除しよう外部キー最初

ALTER TABLE Settings 
    DROP CONSTRAINT Contact1 

エラー:

Msg 3728, Level 16, State 1, Line 24
'Contact1' is not a constraint.
Msg 3727, Level 16, State 0, Line 24
Could not drop constraint. See previous errors.

すると、誰かが私が外部キーである既存のテーブルに列を削除する方法を教えてくださいすることができます。

おかげで

+3

は 'FK__GlobalSet_72E607DB'は、制約の名前で、' Contact1' – LONG

+0

ええ、私はそれに気づいていないが、これは常にgenerated..Willこのあるかどうかはわかりませんでした同じ名前にする。 – user1221989

+0

https://stackoverflow.com/questions/45945900/dropping-and-recreating-constraints-in-sql-serverでは、この問題を解決するためにこの名前が見つかりましたが、その名前の生成方法はまだわかりません。 – user1221989

答えて

0

ドロップ制約「FK__GlobalSet_72E607DB」

関連する問題