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