관리 메뉴

너와 나의 스토리

[MySQL] Can't DROP 'key name'; check that column/key exists 본문

개발

[MySQL] Can't DROP 'key name'; check that column/key exists

노는게제일좋아! 2021. 8. 9. 10:11
반응형

FOREIGN KEY 제거가 안 되는 문제 해결

 

 

상황: board라는 테이블이 있고, 이 테이블의 컬럼 중 하나인 imageId는 현재 foreign key로 설정되어있다. 이때, foreign key를 제거하기 위해 다음과 같이 쿼리를 작성 및 실행하였다.

  • $ ALTER TABLE board DROP FOREIGN KEY imageId
  • 그 결과, 다음과 같은 에러 메시지가 나오며 foreign key 설정이 제거되지 않는다.
    • Can't DROP 'imageId'; check that column/key exists 

 

해결책: foreign key symbol을 이용하여 foreign key 설정을 제거해야 한다.

  • 다음 명령어로 foreign key symbol을 조회한다.
    • $ SHOW CREATE TABLE board;
    • 그러면 'board_ibfk_1'과 같은 형태로 foreign key가 조회된다.
  • 이 값으로 다시 foreign key 제거 명령을 하면 설정을 변경할 수 있다.
    • $ ALTER TABLE board DROP FOREIGN KEY board_ibfk_1

 

 

참고

- https://stackoverflow.com/questions/25079645/cant-drop-foreign-key-in-mysql

 

 

반응형
Comments