[Error] ERROR 1826: Duplicate foreign key constraint name 해결 방법
반응형
MySQL Workbanch에서 SQL 코드가 아니라 프로그램에서 제공하는 시스템을 가지고 테이블을 만들고 있었다.
그리고 외래키 제약사항을 체크해서 줬는데... 다 잘 만들었다고 생각하고 apply를 누르고 쿼리를 돌려서 테이블을 만들려는 순간 이 에러가 발생했다.
원인은 에러에 적혀있는 그대로다. Foregin key constraint name, 즉 외래키의 제약조건의 이름을 외래 키와 똑같이 지어버려서 에러가 난 것이다. 테이블에서 외래 키에 제약조건을 주려면 그 제약조건에도 이름이 있어야 하는데 이 이름이 외래키의 이름과 같아서는 안된다. 만약 같다면 이 에러가 발생한다.
나는 이 사실을 몰랐다니 보다 쿼리를 직접 짜는게 아니라 프로그램에 넣고 하다 보니 이게 컬럼 이름을 넣으라는 건지 뭔지 헷갈려서 똑같이 적었다가 이 에러를 발견했다.
예를 들어, user_id를 외래키로 하고 싶다면 외래키 제약조건의 이름은 fk_user_id 이런 식으로 다르게 주면 되는 것이다.
반응형
'Logs' 카테고리의 다른 글
[Error] 네이버 검색 API: Scope Status Invalid : Authentication failed. (인증에 실패했습니다.) 해결 방법 (1) | 2022.11.24 |
---|---|
[Error] Web server failed to start. Port 8080 was already in use. 해결 방법 (0) | 2022.11.21 |
터미널에서 Node.js 버전 바꾸는 법 (0) | 2022.11.16 |
JAVA Reference 자바 레퍼런스 사이트 (oracle docs 공식 문서) (0) | 2022.11.03 |
[Spring] STS에서 웹 프로젝트 이름(Context root) 바꾸기 (0) | 2022.10.27 |