Mysql是否触发插入记录或更新(如果已存在)?

Mysql是否触发插入记录或更新(如果已存在)?,mysql,triggers,Mysql,Triggers,我有两张桌子 第一个表格word\u cloud auto inc,预定义的\u文本,内容\u id。 第二个表格word\u cloud\u count auto inc,预定义的\u文本,内容\u id,计数。 当数据被插入word_cloud时,我调用了一个触发器,它基本上对单词进行分组,计算计数并将其插入word_cloud_count word_云表由以下部分组成 id | predefined_text | content_id ---------------------------

我有两张桌子 第一个表格word\u cloud auto inc,预定义的\u文本,内容\u id。 第二个表格word\u cloud\u count auto inc,预定义的\u文本,内容\u id,计数。 当数据被插入word_cloud时,我调用了一个触发器,它基本上对单词进行分组,计算计数并将其插入word_cloud_count

word_云表由以下部分组成

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
id | predefined_text | content_id | count
-----------------------------------------------
 1 | ABC             | 1          |  3
 2 | XYZ             | 2          |  3
 3 | ABC             | 2          |  3
 4 | XYZ             | 1          |  1
单词\u cloud\u计数由

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
id | predefined_text | content_id | count
-----------------------------------------------
 1 | ABC             | 1          |  3
 2 | XYZ             | 2          |  3
 3 | ABC             | 2          |  3
 4 | XYZ             | 1          |  1
触发函数

一切正常,值被插入word_cloud_count表中

然而,我的问题是,每次将数据插入word_cloud时,都会调用触发器,并且重复的值被存储到word_cloud_count中

我如何避免这种情况


任何建议都会有很大帮助,请提前感谢

您可以使用像Insert into…这样的upsert查询。。。。om复制品。
检查此处

您的触发器没有意义。例如,在哪一个是“之前”还是“之后”?还显示表的结构,以及您希望触发器执行的操作。@GordonLinoff每次将值插入word\u cloud时,都会调用我的触发器,并将相同的值插入word\u cloud\u count表,如果存在相同的值,我希望触发器更新计数器,如果不存在,则应插入。