我想在表上执行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次?如果索引不存在,它应该只给出错误一次,如果我错了请纠正我。
答案 0 :(得分:0)
创建表xyz
后,您应该创建所需的索引,其中一个是idx_ParticipantID(列ParticipantID
上的索引)。但你没有创造那个,这就是为什么你不能放弃它。
但您可以忽略这些错误,它们对您的数据库没有影响。 我建议你阅读一些关于索引的here。