2017-06-21 276 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