SQLError:不能DROP Index_name;检查列/键是否存在 - 多次出现

时间:2017-03-14 07:23:52

标签: mysql

我想在表上执行alter命令,create table和alter table命令如下所示。

CREATE TABLE `xyz` (
      `entity_id` int(11) NOT NULL AUTO_INCREMENT,
      `masterform_id` int(11) NOT NULL DEFAULT '1',
      `app_status` varchar(500) DEFAULT NULL,
      `NegativeMarks` decimal(15,5) DEFAULT NULL,
      `ActualScore` decimal(15,5) DEFAULT NULL,
      `RawScore` decimal(15,5) DEFAULT NULL,
      `PANProratedMarks` decimal(15,5) DEFAULT NULL,
      `PANNormalizedMarks` decimal(15,5) DEFAULT NULL,
      `RRBZoneNormalizedMarks` decimal(15,5) DEFAULT NULL,
      `RRBZoneProratedMarks` decimal(15,5) DEFAULT NULL,  
      `RRBZoneAllocationTempStorage` varchar(200) DEFAULT NULL,
      `GraduatePercentage` decimal(15,5) DEFAULT NULL,
        `PANAllocationTempStorage` varchar(1500) DEFAULT NULL,
      PRIMARY KEY (`entity_id`),
      UNIQUE KEY `app_seq_no` (`app_seq_no`),
      UNIQUE KEY `ParticipantID` (`ParticipantID`),
      UNIQUE KEY `RegistrationNo` (`RegistrationNo`),  
      KEY `idx_PANNormalizedMarks` (`PANNormalizedMarks`),  
      KEY `idx_RRBZoneNormalizedMarks` (`RRBZoneNormalizedMarks`)
    ) ENGINE=InnoDB AUTO_INCREMENT=273252 DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC


Alter table xyz
    modify column ActualScore decimal(15,5),
    modify column app_status varchar(500),
    add index CalculatedCategory(CalculatedCategory),
    modify column GraduatePercentage decimal(15,5),
    modify column NegativeMarks decimal(15,5),
    modify column PANAllocationTempStorage varchar(1500),
    modify column PANNormalizedMarks decimal(15,5),
    modify column PANProratedMarks decimal(15,5),
    drop index idx_ParticipantID,
    add unique ParticipantID(ParticipantID),
    modify column RawScore decimal(15,5),
    drop index idx_RegistrationNo,
    add unique RegistrationNo(RegistrationNo),
    modify column RRBZoneNormalizedMarks decimal(15,5),
    modify column RRBZoneProratedMarks decimal(15,5);

我收到此错误:

SQLError:Can't DROP 'idx_ParticipantID'; check that column/key exists

但我得到了同样的104次。能不能让我知道为什么我在日志中得到这个错误104次?如果索引不存在,它应该只给出错误一次,如果我错了请纠正我。

1 个答案:

答案 0 :(得分:0)

创建表xyz后,您应该创建所需的索引,其中一个是idx_ParticipantID(列ParticipantID上的索引)。但你没有创造那个,这就是为什么你不能放弃它。

但您可以忽略这些错误,它们对您的数据库没有影响。 我建议你阅读一些关于索引的here