반응형
일부 제품 데이터와 함께 magento의 SQL 덤프를 가져 오려고하는데 외래 키 제약 조건 오류가 발생합니다.
`ERROR 1452 (23000) at line 231680: Cannot add or update a child row: a foreign key constraint fails:
`magento`.`#sql-b33_27`, CONSTRAINT `FK_CATALOG_COMPARE_ITEM_CUSTOMER_ID_CUSTOMER_ENTITY_ENTITY_ID` FOREIGN KEY (`customer_id`) REFERENCES `customer_entity` (`entity_id`) ON DELETE CASCADE ON )`
이것은 오류를 일으키는 SQL 코드입니다.
--
-- Constraints for table `catalog_eav_attribute`
--
ALTER TABLE `catalog_eav_attribute`
ADD CONSTRAINT `FK_CATALOG_EAV_ATTRIBUTE_ATTRIBUTE_ID_EAV_ATTRIBUTE_ATTRIBUTE_ID` FOREIGN KEY (`attribute_id`) REFERENCES `eav_attribute` (`attribute_id`) ON DELETE CASCADE ON UPDATE CASCADE;
나는 SQL 쿼리에 그다지 편하지 않다. 누군가가이 쿼리가 수행하는 작업을 설명하고이 문제를 해결하도록 안내해 주시겠습니까? 감사.
해결 방법
catalog_eav_attribute
에 레코드를 추가하려고하지만 attribute_id
와 일치하는 해당 레코드가 eav_attribute
에 없습니다.
대량 데이터를 eav_attribute
에 삽입하는 경우 먼저이를 수행하는 것이 좋습니다. 그런 다음 데이터를 참조하는 데 필요한 catalog_eav_attribute
의 외래 키 앞에 테이블에 있습니다. .
SET FOREIGN_KEY_CHECKS = 0;
--Do your update here
SET FOREIGN_KEY_CHECKS = 1;
데이터를 삽입하는 순서를 변경할 수없는 경우. FOREIGN_KEY_CHECKS
를 다시 활성화하기 전에 모든 것이 데이터베이스에 삽입 된 후 데이터가 외래 키를 따르는 지 확인하기 만하면됩니다.
참조 페이지 https://stackoverflow.com/questions/8306585
반응형
'MySql' 카테고리의 다른 글
MySQL은 기본 키를보고하지만 테이블에서 삭제할 수 없습니다. (0) | 2020.09.26 |
---|---|
MySQL 페이지 당 사용 된 총 MySQL 쿼리 수를 어떻게 계산할 수 있습니까? (0) | 2020.09.26 |
MySQL mysql의 저장 프로 시저에서 여러 행을 검색하는 방법은 무엇입니까? (0) | 2020.09.26 |
MySQL mySQL : 각 행에 대한 해시 값을 얻습니까? (0) | 2020.09.26 |
MySQL에서 SELECT 문을 사용하여 테이블 이름 가져 오기 (0) | 2020.09.26 |
댓글