안녕하세요.
고코더 입니다.
오류 메시지
●1. 데이터를 Delete 하던 중 이런 메시지를 만날 때가 있습니다. 해석 그대로 "상위 행을 삭제하거나 업데이트할 수 없습니다. 외래 키 제약 조건이 실패합니다."입니다.
ERROR 1217(23000): Cannot delete or update a parent row: a foreign key constraint fails.
@@foreign_key_checks
●2.외래 키가 걸린 데이터는 순차적으로 삭제해야 하지만 옵션을 해제하여 삭제가 가능합니다. 먼저 외래키 제한이 있는 조회 합니다.
SELECT @@foreign_key_checks;
●3. 조회 해보면 대부분 1로 되어 있을 것입니다.
foreign_key_checks 설정
●3. 해당 설정을 변경하는 건 아래처럼 설정이 가능합니다. 여기서 0으로 설정한다면 외래 키 제한 없이 데이터를 삭제할 수 있게 됩니다.
SET foreign_key_checks = 0; --// 해제
SET foreign_key_checks = 1; --// 설정
그래도 foreign key 걸려 있다면 한 번쯤 물어보고 수정합시다.
'IT_Developers > MySQL' 카테고리의 다른 글
MySQL - 데이터베이스 컬럼명 검색하기 (0) | 2021.11.13 |
---|---|
MySQL - now(), sysdate() 차이 (0) | 2021.11.12 |
MySQL - You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column (0) | 2021.11.12 |
MySQL - 오토커밋 설정, 해체하기 / AUTOCOMMIT, @@AUTOCOMMIT; (0) | 2021.11.12 |
MySQL - 테이블의 사용중인 저장엔진 알아보는 방법 / information_schema.TABLES (0) | 2021.11.12 |
댓글