집 >데이터 베이스 >MySQL 튜토리얼 >지연된 제약과 즉시 제약이 데이터베이스 트랜잭션의 기본 및 고유 키 적용에 어떤 영향을 미칩니까?
DEFERRED/DEFERRABLE 및 INITIALLY IMMEDIATE로 정의된 기본 및 고유 키 제약 조건은 고유성을 적용합니다. 거래 중 특정 지점에서 실행.
1. 여러 행을 수정하는 업데이트 문:
기본 키 교체와 관련된 여러 행을 수정하는 업데이트 문은 INITIALLY IMMEDIATE 제약 조건이 있어도 성공합니다. 제약 조건 확인은 문 이후까지 연기되기 때문입니다.
2. 데이터 수정 CTE:
데이터 수정 CTE는 지연되지 않은 기본 키 위반으로 인해 실패하는 업데이트 충돌을 제외하고 유사하게 동작합니다.
3. 트랜잭션의 다중 UPDATE 문:
SET CONSTRAINTS가 없으면 트랜잭션 내에서 고유 제약 조건을 위반하는 여러 UPDATE 문이 실패하게 됩니다. 각 문 다음에 검사가 수행되기 때문입니다.
참고: UNIQUE 및 PRIMARY KEY 제약 조건은 특별히 처리되며, 연기되지 않은 제약 조건은 행이 수정될 때마다 즉시 확인됩니다.
표준 준수 동작을 달성하려면 DEFERRABLE 제약 조건을 INITIALLY IMMEDIATE로 선언해야 하지만 지연되어서는 안 됩니다. 이는 즉각적인 고유성 검사에 비해 성능이 저하될 수 있습니다.
참조된 열은 지연 불가능한 고유 또는 기본 키 제약 조건이어야 하므로 DEFERRABLE 제약 조건은 FOREIGN KEY 참조에 사용할 수 없습니다.
위 내용은 지연된 제약과 즉시 제약이 데이터베이스 트랜잭션의 기본 및 고유 키 적용에 어떤 영향을 미칩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!