Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从SQLServer2005表中删除字段_Sql_Sql Server 2005 - Fatal编程技术网

如何从SQLServer2005表中删除字段

如何从SQLServer2005表中删除字段,sql,sql-server-2005,Sql,Sql Server 2005,我试过这个: ALTER TABLE My.Table DROP MyField 得到了这个错误: -MyField不是一个约束 -无法删除约束。请参阅前面的错误 表中只有一行数据,字段刚刚添加 编辑: 接下来,sql确实缺少一列。 但现在我发现了更严重的错误: 对象“some\u object\uu somenumbers”依赖于列“MyField” ALTER TABLE DROP COLUMN MyField失败,因为一个或多个对象访问此列 编辑: ALTER TABLE Table

我试过这个:

ALTER TABLE My.Table DROP MyField
得到了这个错误:

-MyField不是一个约束

-无法删除约束。请参阅前面的错误

表中只有一行数据,字段刚刚添加

编辑: 接下来,sql确实缺少一列。 但现在我发现了更严重的错误:

  • 对象“some\u object\uu somenumbers”依赖于列“MyField”
  • ALTER TABLE DROP COLUMN MyField失败,因为一个或多个对象访问此列
编辑:

ALTER TABLE TableName DROP Constraint ConstraintName

工作之后,我能够使用前面的代码删除该列。感谢你们两位。

我想你们只是缺少了列关键字:

ALTER TABLE TableName DROP COLUMN ColumnName
您还需要确保首先删除依赖于ColumnName的任何约束

您可以通过以下方式完成此操作:

ALTER TABLE TableName DROP ConstraintName
对于您拥有的每个约束

如果有基于该列的索引,则还需要先删除这些索引

DROP INDEX TableName.IndexName

Brian解决了您原来的问题-对于您的新问题(对象“some\u object\u somenumbers”依赖于列“MyField”),这意味着您存在依赖性问题。例如索引、外键引用、默认值等。要删除约束,请使用:

ALTER TABLE TableName DROP ConstraintName

此外,您需要先删除该列的所有约束,然后它才会允许您删除该列本身。

您将该列标记为“mysql”,但问题是SQLServer2005。我的错误应该是mssql,但是已经有人更新了。
ALTER TABLE TABLE_NAME ADD COLUMN SR_NO INTEGER(10)NOT NULL;