Error Code: 3734. Failed to add the foreign key constraint. Missing column 'ID' for constraint 'daily_work_time_ibfk_1' in the referenced table 'user'
오류가 발생했길래 무슨 오류인지 찾아봤다.
해당 오류는 참조되는 테이블의 필드 값을 제대로 작성하지 않으면 발생하는 오류이다.
*기존 코드
1) FOREIGN KEY (USER_ID) REFERENCES USER(_ID) ON DELETE CASCADE
* 수정한 코드
2) FOREIGN KEY (USER_ID) REFERENCES USER(USER_ID) ON DELETE CASCADE
>> 오류가 발생한 이유는 USER 테이블의 USER_ID 필드를 선택했어야하는데
USER 테이블의 _ID 필드를 선택해서 잘못된 것이였다.
*잘못 생각한 이유
REFERENCES USER(_ID)가 의미하는게
USER_ID의 값과 USER 테이블이 같다고 생각해서 _ID로 작성해도 될 줄 알았었다.
** 최종 정리
REFERENCES USER(USER_ID) : USER 테이블의 USER_ID 필드를 지정
REFERENCES USER(_ID) : USER 테이블의 _ID 필드를 지정
'DB' 카테고리의 다른 글
| [DB이론] 무결성 종류 (0) | 2025.04.03 |
|---|---|
| [Oracle] Oracle 연결 연산자, 산술 연산자, 트랜잭션 (0) | 2025.03.04 |
| [Oracle] Oracle DB 설치 (0) | 2025.03.01 |
| [MySQL]MySQL 설치 (0) | 2025.01.22 |
| [MySQL] TIMESTAMP (0) | 2024.12.10 |