2017-08-24 203 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表中,我希望我的触发器更新计数器,如果相同的值存在,如果它不应该插入。 –

回答

相关问题