我想删除掉TABLE的INDEX,但是我发现有如下的错误出现:DROP INDEX 语句不适用于通过定义 PRIMARY KEY 或 UNIQUE 约束创建的索引请问怎么才能删除 PK上的INDEX

解决方案 »

  1.   

    删除index要分几种状况:
    1:如果你要删除的是用约束创建的索引(也就是你的表上的某个列有PRIMARY KEY或UNIQUE KEY),你只需禁止
    这些约束,那么该表上的索引也会自动删除.
    2:如果你的索引是用命令CREATE INDEX创建的非唯一性索引,那么你要先删除你的索引DROP INDEX,再删除你
    的表DROP TABLE;
    3:如果你想用命令删除唯一性索引,用命令ALTER TABLE table_name DISABLE CONSTRAINT index_name
    CASCADE;
    4:如果你想通过删除表来删除索引,那么就用DROP TABLE table_name CASCADE CONSTRAINTS;
      

  2.   

    义 PRIMARY KEY 或 UNIQUE 约束删除要用alter tablealter table tablename drop CONSTRAINT  PK_name 
      

  3.   


    數據庫在創建 PRIMARY KEY 或 UNIQUE 约束時自動創建索引
    可以這樣刪除alter table tablename
    drop constraint 約束名