에러

[MySQL Error 1061] 아니 외래키 이름도 바꿨는데 또 에러야?

눌지 2024. 5. 28. 12:32

에러 배경

MySQL Workbench에서 외래키 에러를 해결하자마자 이어서 발생된 에러이다.

에러 그 잡채

Error 1061: Duplicate key name 'FK_book_id_idx'
SQL Statement: ALTER TABLE `BookShop`.`baskets`
ADD INDEX `FK_book_id_idx` (`book_id` ASC) VISIBLE,
ADD INDEX `FK_user_id_idx` (`user_id` ASC) VISIBLE

이번에는 어떤 key 이름이 중복되었다고 한다. 뒤에 idx가 붙어있는 것으로 보아 인덱스의 이름이 있는 것 같다.

해결 과정

해결.인덱스 이름 변경

외래키를 설정하면 자동으로 인덱스도 설정이 된다. 이때 외래키의 이름에 _idx만 추가로 붙어서 생성되기 때문에 중복이 발생할 수 있다. 그렇기 때문에 인덱스의 이름을 바꿔주면 문제가 해결된다.

🍯tip! 사실 가장 간단한 방법은 새로 테이블을 만드는 방법이다. 그때는 외래키의 이름에 신경 써서 만들면 해당 중복 에러를 피할 수 있다.

정리

연달아서 에러가 발생하니 살짝 어지러웠지만 그래도 쉽게 해결되는 에러였다.