트리거를 사용하여 MySQL INSERT 작업 중단
URL 및 매개변수 문자열을 기반으로 테이블의 중복 항목을 방지하기 위해 트리거를 구현할 수 있습니다. . 이 트리거는 들어오는 INSERT 작업으로 인해 중복이 발생하는지 평가하고 필요한 경우 예외를 발생시키거나 그에 따라 삽입을 허용합니다.
작업 중단
의 경우 "... ABORT/C#에 대한 예외 발생 ..." 부분에서는 SIGNAL 문을 사용할 수 있습니다:
SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = 'Duplicate entry: URL and parameter string already exists.';
이것은 C# 코드가 포착할 수 있는 MySQLException이 발생합니다.
삽입 허용
"... 삽입 허용 ..." 부분에서는 SIGNAL을 생략하면 됩니다. 성명. 중복 항목이 감지되지 않으면 삽입은 평소와 같이 진행됩니다.
수정된 트리거 코드
다음은 중단 논리와 삽입 허용 논리를 모두 통합하는 수정된 트리거 코드입니다. :
CREATE TRIGGER urls_check_duplicates BEFORE INSERT ON urls FOR EACH ROW BEGIN DECLARE num_rows INTEGER; SELECT COUNT(*) INTO num_rows FROM urls WHERE url = NEW.url AND params = NEW.params; IF num_rows > 0 THEN SIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = 'Duplicate entry: URL and parameter string already exists.'; END END
위 내용은 중복 항목을 방지하기 위해 트리거를 사용하여 MySQL INSERT 작업을 중단하거나 허용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!