我试过了:
ALTER TABLE My.Table DROP MyField
并收到此错误:
-MyField不是约束。
- 不要放弃约束。查看以前的错误。
表格中只有一行数据,而且该字段刚刚添加。
修改 为了跟进,sql确实缺少了COLUMN。 现在我更加认真地看错了:
修改
ALTER TABLE TableName DROP Constraint ConstraintName
工作,之后我能够使用前面的代码删除列。感谢你们两位,谢谢。
答案 0 :(得分:10)
我认为你只是错过了COLUMN关键字:
ALTER TABLE TableName DROP COLUMN ColumnName
您还需要确保首先删除依赖于ColumnName的任何约束。
您可以通过以下方式执行此操作:
ALTER TABLE TableName DROP ConstraintName
对于您拥有的每个约束。
如果您有基于列的索引,则还需要先删除这些索引。
DROP INDEX TableName.IndexName
答案 1 :(得分:4)
Brian解决了你原来的问题 - 对于你的新问题(对象'some_object__somenumbers'依赖于列'MyField'),这意味着你有一个依赖问题。类似索引,外键引用,默认值等。要删除约束,请使用:
ALTER TABLE TableName DROP ConstraintName
此外 - 您需要删除依赖于该列的所有约束,然后才能删除列本身。
答案 2 :(得分:0)
ALTER TABLE TABLE_NAME ADD COLUMN SR_NO INTEGER(10)NOT NULL;