mysql插入记录问题

遇到了一个细节问题 就是当新加记录的前四列值与表中存在的一条记录前四列值相同时 要进行合并 将第五列值相加形成新纪录 现在时间有限也不知道怎么查资料 所以来请教下该怎样写insert的trigger或者还有其他办法

img

你要的是不是这样的?
with t1 as (
select 1 AS ID ,1 PID ,'红色' name ,'XS' tyep ,1 CT from dual union
select 1 AS ID ,1 PID ,'红色' name,'XS' tyep ,2 CT from dual union
select 2 AS ID ,213 PID ,'红色' name, 'XXX' tyep ,5 CT from dual union
select 2 AS ID ,213 PID ,'红色' name, 'XXX' tyep ,1 CT from dual union
select 7 AS ID ,23 PID ,'红色' name, 'X' tyep ,1 CT from dual
)
SELECT ID,PID,NAME,tyep,
SUM (CASE WHEN ID = ID AND PID = PID AND name = name AND tyep = tyep THEN CT
ELSE NULL END) CT
FROM T1
GROUP BY ID,PID,NAME,tyep

我想到的只能是先查一次,然后如果有就更新,没有就插入

建议在逻辑程序里面做处理吧,这个是业务需求,不要放到数据库层面去处理,在程序逻辑处理代码中先查如果有重复数据,那就更新数量就可以了