MySQL一对多关系创建报错1061:重复键名'emp_id_idx'
解决MySQL添加索引时出现Duplicate key name错误的问题
你遇到的ERROR 1061: Duplicate key name 'emp_id_idx'错误,核心原因是leavetable表中已经存在名为emp_id_idx的索引,MySQL不允许创建同名索引。
错误详情
Error : ERROR 1061: Duplicate key name 'emp_id_idx'
SQL Statement:ALTER TABLE `hrmsemployee`.`leavetable` ADD INDEX `emp_id_idx` (`emp_id` ASC) VISIBLE
解决步骤
- 先验证表中是否存在该索引,执行以下SQL查询:
查看返回结果的SHOW INDEX FROM `hrmsemployee`.`leavetable`;Key_name列,确认是否有emp_id_idx。 - 如果索引已存在,直接跳过这条添加索引的语句,继续执行外键关联的SQL即可(若你的最终目的是建立一对多外键关系,MySQL在创建外键时会自动为关联字段生成索引,无需手动重复添加)。
- 若需要重新创建该索引,先删除已存在的旧索引:
删除完成后再执行原添加索引的语句即可。ALTER TABLE `hrmsemployee`.`leavetable` DROP INDEX `emp_id_idx`;
内容的提问来源于stack exchange,提问作者Vinayak
相关产品推荐
相关产品推荐

