ext_words 및 ext_words_count라는 두 테이블이 포함된 데이터베이스 시나리오에서 목표는 단어 발생을 추적하는 것입니다. ext_words에 단어를 삽입하거나 업데이트할 때 트리거는 다음을 수행해야 합니다.
초기 접근 방식
초기 접근 방식에서는 삽입과 업데이트를 위해 별도의 트리거를 사용하려고 시도했지만 word_count 필드를 업데이트하는 데 문제가 발생했습니다.
조건부를 사용한 풀이 명령문
이 문제를 해결하기 위해 조건문을 통합하는 단일 트리거가 사용되었습니다.
DELIMITER $$ CREATE TRIGGER update_count AFTER INSERT ON ext_words FOR EACH ROW BEGIN IF NOT EXISTS (SELECT 1 FROM ext_words_count WHERE word = NEW.word) THEN INSERT INTO ext_words_count (word) VALUES (NEW.word); ELSE UPDATE ext_words_count SET word_count = word_count + 1 WHERE word = NEW.word; END IF; END $$ DELIMITER ;
이 트리거는 삽입되거나 업데이트되는 단어가 ext_words_count에 존재하는지 확인합니다. 존재하지 않으면 해당 단어에 대해 개수가 1인 새 행을 삽입합니다. 존재하는 경우 개수를 1씩 증가시킵니다.
구현 세부 정보
트리거에 조건문을 활용하면 단일 트리거로 삽입 및 업데이트 시나리오를 모두 처리할 수 있습니다. 이 접근 방식은 단어 발생을 추적하기 위한 보다 효율적이고 효율적인 솔루션을 제공합니다.
위 내용은 MySQL 트리거를 사용하여 단어 발생을 효율적으로 추적하는 방법: 삽입 및 업데이트 이벤트를 위한 단일 트리거 솔루션?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!