DB

[MySQL]MYSQL : Error Code: 3734

easy-6 2024. 12. 10. 16:50

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