2017-06-21 277 views
0

我想更改我的表並刪除一個列,我知道里面沒有數據(因爲我剛創建它)現在我想刪除它,它說當沒有約束時,sql無法刪除約束

「SQL錯誤(3727):無法刪除約束。請參閱以前的錯誤。」

我使用下面的代碼:

ALTER TABLE Object DROP WAddress
+0

查看以前的錯誤。 – NEER

+0

是否將該列鏈接到某個不同的表 –

+0

有沒有以前的錯誤@NEER – Henjin

回答

2

您的查詢缺少 「列」 的關鍵字。用途:

ALTER TABLE Object DROP COLUMN WAddress 

有人亂扔約束錯誤的原因是,它期待的是WAddress是餐桌上的約束的名稱,因爲關鍵字「列」失蹤了。

1

下面是從表中刪除列(S)的語法:
落單柱:

ALTER TABLE table_name DROP COLUMN column_name; 

下降爲SQL Server的多列:

ALTER TABLE table_name DROP COLUMN (column_name1, column_name2); 

對於Oracle:

ALTER TABLE table_name DROP (column_name1, column_name2); 

在你的情況下,你想放棄一個single column so COLUMN關鍵字is requiredDROP
如果要刪除多列,則可以省略基於您正在使用的數據庫的COLUMN關鍵字。

+0

我認爲對於多列,你的語法將不起作用。它應該是 ALTER TABLE table_name DROP COLUMN column_name1,column_name2; –

+1

PratikPatel是正確的,嘗試: CREATE TABLE #Object ( \t並[a] INTEGER \t,並[b] INTEGER \t,並[c] INTEGER ) ALTER TABLE [#Object] DROP COLUMN A,B – SuaveIncompetence