16

我正在尝试删除在表上创建的索引,但出现此错误 -

只有内存优化表支持“ALTER TABLE DROP INDEX”操作。

我需要删除这个索引才能在我的表中删除一个字段。有没有办法在不复制表和迁移所有数据的情况下做到这一点?

4

5 回答 5

15

对于常规表,您应该使用DROP INDEX语法:

DROP INDEX index_name ON tab_name;

ALTER TABLE

语法 ALTER TABLE ... ADD/DROP/ALTER INDEX仅支持内存优化表。

于 2019-05-01T09:59:25.710 回答
5

删除索引

DROP INDEX index_name ON table_name

添加索引

CREATE INDEX index_name ON table_name(column1, column2, ...);
于 2019-08-06T07:39:29.150 回答
3

只能使用 alter table 语句删除内存优化表上的索引

更改表表名 DROP INDEX 索引名

或非内存优化表

DROP INDEX 索引名 ON 表名

sql server 2016 支持内存优化表。

于 2020-10-28T15:52:37.753 回答
1

这里:如果它不是内存优化表,那么只需使用“drop index”语句。

于 2019-05-01T10:02:46.560 回答
-1

你需要使用 Drop Index <IndexName> On <TableName>

于 2021-02-15T16:56:52.917 回答