如果没有值,则更新是否存在插入值

时间:2017-07-16 11:21:50

标签: sql postgresql mybatis

我正在使用postgresql 9.4.1212。我正在编写myBatis查询,但我不知道。 我可以得到帮助吗?

这是我的查询代码:

insert into search_by_date (date,total_count) values (#{date},#{total});

参数是map,如果有值,我想更新

这里是我的search_by_date表..

column= > no(serial primary key) , date varchar(50),total_count(int)

2 个答案:

答案 0 :(得分:0)

您在Upsert操作中寻找的内容。这将是PostgreSQL 9.5中的一个功能

您可以通过使函数执行相同的操作来实现它,首先检查匹配的行数。如果为0则插入更新更新

答案 1 :(得分:0)

在冲突时需要更新的列组上创建唯一索引。

var x = {};
x.css = {height: 100, width: 100};

var y = {};
y.css = Object.assign({}, x.css);
y.css.height = 200;

console.log(x.css.height);

在索引中指定的列上插入使用ON CONFLICT子句。

CREATE UNIQUE INDEX uidx_dt_ct ON search_by_date USING BTREE(date,total_count) ;