프로필사진
ERROR 3780 (HY000): Referencing column '000' and referenced column '000' in foreign key constraint '000' are incompatible.

2019. 12. 11. 14:43🔴 ERROR기록

300x250

mysql로 테이블 두개를 만들었고,
데이터를 넣다가
양쪽의 컬럼을 묶어야 할 필요성을 느껴서 foreign key를 잡아주려고 했다.

테이블 구조 :

1. 부모 테이블 <newsList>

2. 자식 테이블 <crawlingDB>

여기서 나는 crawlingDB의 mediacode를 foreign key로 세팅하여
 newsList의 mediacode(pk)를 crawlingDB의 mediacode와 연결해주려고 했다.


외래키로 설정 시도

alter table crawlingDB add constraint
    -> mediacode foreign key(mediacode)
    -> references newsList(mediacode)
    -> on delete cascade on update cascade;

- 오류

Referencing column 'mediacode' and referenced column 'mediacode' in foreign key constraint 'mediacode' are incompatible.

뒤에 'on delete cascade on update cascade'를 빼고 해보고..
혹시 컬럼명이 같아서 그런가 하고 앞에 테이블명을 붙여서 해도 오류가 발생했다..!


- 해결 : 컬럼 타입 바꿔주기

양 측의 mediacode컬럼 타입을 varchar(10) ---> int(10) 으로 변경해줬다.

해결은 됐는데.. 이유는 모르겠다 ㅠㅠ

300x250