MySQL에서는 검사 제약 조건을 지원하지 않기 때문에 데이터 무결성을 검증할 때 문제가 발생합니다. 그러나 원하는 효과를 얻기 위해 트리거를 사용할 수 있습니다.
foo 테이블에 1-5 값으로 제한된 에이전시 속성이 있는 시나리오를 생각해 보세요. 이 제약 조건을 위반하는 삽입 또는 업데이트를 방지하기 위해 트리거를 생성할 수 있습니다.
다음 트리거는 잘못된 대행사 값이 제공될 때 SIGNAL 구문을 사용하여 오류를 발생시킵니다.
CREATE TRIGGER agency_check BEFORE INSERT ON foo FOR EACH ROW BEGIN IF (new.agency < 1 OR new.agency > 5) THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Invalid agency value'; END IF; END
트리거가 효과적일 수 있지만 성능에 영향을 미칠 수 있다는 점에 유의하는 것이 중요합니다. MySQL에서 검사 제약 조건을 적용하는 대체 솔루션은 저장 프로시저를 사용하는 것입니다. 그러나 이 접근 방식은 특히 복잡한 제약 조건의 경우 항상 실용적이지 않을 수 있습니다.
위 내용은 MySQL에서 제약 조건을 적용하기 위해 트리거를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!