DB

mariaDB sql문 초보가 저지르는 실수 (foreign key)

발전생 2021. 10. 25. 23:53

수업에서 데이베이터베이스 시스템 3판 교재를 사용한다.

 

교재에 나온 형식이랑 똑같이 mariadb client에 입력했더니 이런 에러가 뜬다.

당황스럽다.

아무리 검색을 해봐도 charset이 잘못됐거나 reference 당하는 테이블에서 primary key로 설정 안 해 놨거나 데이터 타입이 다르다는 말 뿐이다.

charset은 건드리지 않았으니 서로 다를 일은 없을 테고

desc 테이블명으로 확인해봐도 primary key로 설정돼있고 데이터 타입도 integer만 썼다. int는 쓰지도 않았다.

 

원인을 알 수 없어 여러 경우의 수에 대해 테스트 해봤다.

그 결과 해답을 찾을 수 있었다.

references에서 attribute 명을 명시해줘야만 한다.

교재가 너무 옛날에 나와서 최신 mariadb랑 호환이 안 되는 건지 교재가 엉터리인 건지는 잘 모르겠다. 아무튼 해결.