2017-08-24 78 views
0

我有2個表 1st table word_cloud(auto inc),predefined_text,content_id。 第二個表word_cloud_count(auto inc),predefined_text,content_id,count。 當數據被插入到word_cloud,基本上組字,計算的計數並將其插入到word_cloud_count我打電話觸發Mysql觸發器插入記錄或更新,如果它已經存在?

word_cloud表由

id | predefined_text | content_id 
--------------------------------- 
1 | ABC    | 1 
2 | ABC    | 1 
3 | ABC    | 1 
4 | XYZ    | 2 
5 | XYZ    | 2 
6 | XYZ    | 2 
7 | XYZ    | 1 
8 | ABC    | 2 
9 | ABC    | 2 
10 | ABC    | 2 

word_cloud_count組成的

id | predefined_text | content_id | count 
----------------------------------------------- 
1 | ABC    | 1   | 3 
2 | XYZ    | 2   | 3 
3 | ABC    | 2   | 3 
4 | XYZ    | 1   | 1 

觸發功能

CREATE TRIGGER word_cloud_count_insert after insert on word_cloud 
    INSERT INTO word_cloud_count (Word,content_id ,count) 
    SELECT predefined_text,content_id, count(*) 
    FROM word_cloud 
    group by predefined_text,content_id 

一切正常,並正在插入word_cloud_count表中的值存儲

但我的問題是每個數據插入到word_cloud觸發器被調用並複製值時間爲word_cloud_count

怎麼辦我避免這種

任何建議將是巨大的幫助,提前

+0

你的觸發器沒有意義。例如,「之前」或「之後」在哪裏?同時顯示錶格的結構,以及您想要觸發器執行的操作。 –

+0

@GordonLinoff @GordonLinoff每當一個值插入到word_cloud中時,我的觸發器被調用,並且它將相同的值插入單詞_cloud_count表中,我希望我的觸發器更新計數器,如果相同的值存在,如果它不應該插入。 –

回答

相關問題