728x90
Table 1, Table 2 가 있다고 하자.
Table 2의 특정 column(Ck)을 foreign key로 설정하여 만든 테이블이라 하자, Table 1의 column(Ck)을 참조하는
Table 2에다가 row를 추가하는데 Ck에 해당하는 데이터가 Table 1의 Ck에 존재하지 않으면 error가 생김
이러한 foreign key에 들어올 data를 확인하는 것을 "Foreign key check"라 한다.
SQL사용시 해당 설정을 끄고, Table 2에 row를 추가하고, 다시 해당 설정을 키도록 하자.
(이미 Inserted된 row에 대해서는 Foreign key check를 하지 않는다.)
MySQL에서는
qry = "SET FOREIGN_KEY_CHECKS=0"
cursor.execute(qry)
"Do your job"
qry = "SET FOREIGN_KEY_CHECKS=1"
cursor.execute(qry)
728x90
'CS' 카테고리의 다른 글
[Python]Define functions(positional argument, keyword argument, *args, **kwargs, /, *) (0) | 2020.10.08 |
---|---|
(진행중)[Elasticsearch]기본 사용법 모음 (0) | 2020.10.07 |
[Ubuntu]파일 찾기 자주 쓰는 명령어만 (0) | 2020.10.07 |
[python]Python 3.9로 upgrade하기 (0) | 2020.10.06 |
[SQL]DELETE, DROP, TRUNCATE TABLE 차이 (0) | 2020.10.06 |