MySQL에서 커밋할 때까지 참조 무결성 검사를 연기
데이터베이스 관리에서 참조 무결성을 유지하면 테이블 전체의 데이터 일관성이 유지됩니다. 널리 사용되는 관계형 데이터베이스 관리 시스템인 MySQL은 기본적으로 참조 무결성 검사를 시행합니다. 이로 인해 동일한 거래 내에서 여러 관련 레코드를 삽입할 때 문제가 발생할 수 있습니다.
문제 설명:
PHP PDO를 사용하여 제품과 관련 제품을 동시에 삽입하려고 하면 참조 무결성 제약으로 인해 오류가 발생합니다. 이 문제는 단일 트랜잭션 내에서도 발생하므로 조인 테이블을 통해 관련된 레코드를 삽입하기 어렵습니다.
답변:
제공된 답변에 따르면 InnoDB는 기본적으로 MySQL의 스토리지 엔진은 외래 키 제약 조건을 즉시 확인합니다. 이는 참조 무결성 검사가 커밋될 때까지 연기될 수 없음을 의미합니다. 이 동작은 제약 조건 검사를 연기해야 한다고 지정하는 SQL 표준과 다릅니다.
결론:
MySQL은 지연된 참조 무결성 검사를 지원하지 않지만 대체 접근 방식을 모색합니다. 필요할 수도 있습니다. 연구원은 행 기반 트리거를 조사하거나 지연된 제약 조건 검사에 대한 더 나은 지원을 제공하는 다른 데이터베이스 관리 시스템을 사용하는 것을 고려할 수 있습니다.
위 내용은 MySQL은 커밋할 때까지 참조 무결성 검사를 연기할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!