在涉及 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中文網其他相關文章!