pymysql.err.IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails
문제 상황: pymysql을 사용하여 db에 저장하려고 하는데 pymysql.err.IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails ~ 에러가 뜸
에러 메시지를 읽어보면, 뭔가 integer값으로 들어가야 하는데 그게 아니라서 데이터 추가가 안되나 보다.
그런데, 똑같이 코드를 작성한 다른 모델에는 잘 들어가는데,
이 모델에만 안들어가는 상황.
과정
일단, db의 table 구조를 확인해보자..
# mysql
# table 구조 확인
desc [table이름];
(*system_nac에는 데이터가 잘 들어가나, 같은 코드의 system_vpn에는 에러가 나는 상황이였다.)
table 구조를 보니 역시 user_id부분의 type이 서로 다르다. 에러 메시지의 뒷부분에 user_id에 관한 언급이 있었으니, 이 때문이 분명하다.
같은 코드이고,, 분명 makemigrations와 migrate도 마친 상태..
해결
# mysql
drop table system_vpn;
수정 후 migrate한 것이 제대로 반영되지 않은 것이기 때문에
system_vpn 의 테이블을 삭제하고, 다시 migrate한다.
(이럴 경우에는 migrations 폴더의 migrate기록 파일을 삭제한 뒤 재진행한다.)
+ 그래도 에러가 발생한다면, db의 모든 table을 지우고 다시 진행해야지 뭐.....
Author And Source
이 문제에 관하여(pymysql.err.IntegrityError: (1452, 'Cannot add or update a child row: a foreign key constraint fails), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@paori/pymysql.err.IntegrityError-1452-Cannot-add-or-update-a-child-row-a-foreign-key-constraint-fails저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)