2012-07-02 126 views
0

我已經通過向它添加了一個額外的列「AOTProcessRealTime」來改變表「luAffinity」。我已經爲列「AOTProcessRealTime」添加了一個默認約束。下面是我開的查詢:如何從表格的列中刪除默認約束?

ALTER TABLE luAffinity ADD AOTProcessRealTime BIT NOT NULL CONSTRAINT DF_luAffinity_ProcessRealTime DEFAULT 0

現在我想刪除列AOTProcessRealTime。爲此,我必須先刪除默認約束。所以我寫了下面的查詢,刪除約束:

ALTER TABLE luAffinity DROP CONSTRAINT DF_luAffinity_ProcessRealTime

在運行上面的查詢,我剛開了一個錯誤:

DF_luAffinity_ProcessRealTime is not a constraint. Could not drop constraint.

然而,約束已成功創建,但我無法刪除它。我只想刪除列AOTProcessRealTime。但我無法刪除它。難道我做錯了什麼?任何幫助將不勝感激

回答

2

對於SQL Server,您的語法應該工作。也許在約束的名義上有一個微妙的錯字?使用

SELECT * 
from sys.default_constraints 
where parent_object_id = object_id('luAffinity') 

檢查它是如何設置的。

+0

謝謝Philip。我發現了這個問題。運行上述查詢時名稱不同 –