gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 10:39:11 25 4
gpt4 key购买 nike

我有 2 张 table 第一个表 word_cloud (auto inc)、预定义_text、content_id 。第二个表 word_cloud_count (auto inc),predefined_text,content_id,count 。当数据插入到 word_cloud 时,我调用一个触发器,它基本上对单词进行分组,计算计数并将其插入到 word_cloud_count

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

如何避免这种情况

任何建议都会有很大的帮助,提前致谢

最佳答案

您可以使用 upsert 查询,例如 Insert into .... om重复。检查这里Insert into a MySQL table or update if exists

关于Mysql 触发器插入记录或更新记录(如果已存在)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45851249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com