2012-02-02 42 views
0

編輯:有沒有辦法來檢查約束是否已經存在,以確定是否需要首先刪除?尋找正確的sql語法,以添加默認值到現有的表

我構建了一系列表格,並且在兩列中,當添加新記錄時,我將默認值設置爲「真」。

似乎約束將被添加,下面提到了一行代碼,但它不會在綁定中創建默認值'True'。

問題:

我嘗試使用上面的代碼中,我得到這個錯誤更改默認值的現有列在SQL Express 2008的

ALTER TABLE [dbo].[tblLangtrTR] ADD CONSTRAINT [DF_tblLangtrTR_displayRecord_1] DEFAULT (N'True') FOR [displayRecord] 

....

消息2714,Level 16,State 5,Line 2 數據庫中已經有一個名爲'DF_tblLangtrTR_displayRecord_1'的對象。 消息1750,級別16,狀態0,行2 無法創建約束。查看以前的錯誤。

回答

3
IF EXISTS(SELECT * 
      FROM sys.default_constraints 
      WHERE name = 'DF_tblLangtrTR_displayRecord_1' 
       AND parent_object_id = object_id('dbo.tblLangtrTR')) 
    ALTER TABLE dbo.tblLangtrTR DROP CONSTRAINT 
    [DF_tblLangtrTR_displayRecord_1] 

ALTER TABLE dbo.tblLangtrTR ADD CONSTRAINT [DF_tblLangtrTR_displayRecord_1] 
DEFAULT (N'True') FOR [displayRecord] 
相關問題