Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL은 제약 조건을 어떻게 처리합니까?


MySQL이 제약 조건을 처리하는 방법을 이해합시다 −

MySQL은 트랜잭션 테이블(롤백을 허용함)과 비 트랜잭션 테이블(롤백을 허용하지 않음)으로 작업하는 데 도움이 됩니다. 이것이 MySQL에서 다른 DBMS와 비교하여 제약 조건을 처리하는 것이 다른 이유입니다. 논트랜잭션 데이터베이스에서 많은 행을 삽입하거나 업데이트하는 동안 오류가 발생하면 롤백할 수 없습니다. 이 사건은 올바른 방식으로 처리되어야 합니다.

MySQL Server는 실행해야 하는 명령문을 구문 분석할 때 오류로 감지된 쿼리에 대해 오류를 생성합니다. 오류가 감지되면 명령문을 실행하는 동안 오류로부터 복구를 시도합니다. 이것은 현재 모든 문에 대해 수행되지 않습니다.

MySQL은 중간에 명령문을 중지하거나 복구하고 오류가 발생하면 계속할 수 있습니다. 기본적으로 서버는 복구하고 계속합니다.

외래 키를 사용하면 여러 테이블의 데이터에서 상호 참조할 수 있으며 외래 키 제약 조건은 이러한 분산 데이터의 일관성을 유지하는 데 도움이 됩니다.

외래 키 참조

MySQL은 CREATE TABLE 및 ALTER TABLE 문에서 ON UPDATE 및 ON DELETE 외래 키 참조를 지원합니다.

참조 작업

사용 가능한 참조 작업은 RESTRICT, CASCADE, SET NULL 및 NO ACTION입니다.

NO ACTION은 기본 참조 작업입니다.

ENUM

ENUM 값은 열 정의에 나열된 값이거나 내부 숫자에 해당하는 값이어야 합니다. 값은 오류 값(0 또는 빈 문자열)일 수 없습니다. ENUM('a','b','c')으로 정의된 열의 경우 'a', 'b' 또는 ' '', 'd' 또는 'ax'와 같은 c'는 유효하지 않은 것으로 간주되어 거부됩니다.