본문 바로가기

Programming/Database

mysql 에서 foreign key(외래키) 지정시 오류가 난다면!




foreign key 지정할때 오류가 나는 경우는 보통


두 테이블의 컬럼들의 속성이 다를경우이다.


가끔 보면 같은 int 형인대 하나는 unsigned 라서 안된다거나,


한쪽만 not null이 먹혀져있어서 그런 경우가 있다.


그럴때 보면 가차없이 mysql이 에러를 뱉어내는대.



아무리해도 차이가 없는대 오류가 나는 경우가있었다.



그누보드건 작업중 추가테이블과 그누보드 기존 테이블의 연결이었는대,


그누보드 테이블은 스토리지 엔진 이 모두 이미지처럼 MyISAM으로 되어있었고,


새로 추가한 테이블은 모두 InnoDB로 되어져 있었다.




생각도 못했는대, 알아본 결과


InnoDB만 Foreign key를 지원한다고한다..



예전에는 MyISAM vs InnoDB의 구도로 많이들 이야기 나왔는대,


속시원하게 InnoDB를 쓰자!!