(本文档仅供参考)
问题现象:
回写规则添加了一个年参数作为主键,回写修改数据,数据库没有执行更新操作,而是变成插入新记录,如图所示
解决方案:
根据返回执行sql,发现分别有一条update和insert语句,update匹配不上,所以就直接执行了insert
最终发现是因为字段是CHAR(6)导致的,用了char(6),由于回写的是年份4个字符,数据库会自动使用空格补位,导致最终匹配不上
所以update不生效,就直接执行insert。可以将字段改成varchar2或者char(4)。