如果存在则增加行上的字段,否则插入新行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果存在则增加行上的字段,否则插入新行相关的知识,希望对你有一定的参考价值。

想象一个存储问题标签的表,比如堆栈溢出问题的标签。

我想跟踪有多少问题有标签。

我做了这张桌子

create table tag (name text primary key, questions counter);

现在我想在表格中添加一个标签,但是如果它已经存在则不应该添加,它应该通过questions增加现有标签的1

我认为它看起来像

update tag set questions = questions + 1 where name = ? if exists
insert tag (name, questions) values (?, 1) if not exists

但上面给出了错误:

Conditional updates are not supported on counter tables
答案

cassandra的更新与upsert一样。

如果存在相同的主键,它将被覆盖,否则它将创建新的。

update tag set questions = questions + 1 where name = ?

只有这样才能满足要求

以上是关于如果存在则增加行上的字段,否则插入新行的主要内容,如果未能解决你的问题,请参考以下文章

如果存在则更新行否则使用实体框架插入逻辑[关闭]

更新一行,如果缺少则插入新行

MySQL:如果存在则获取 ID,否则插入并返回 ID

mysql批量更新,数据存在则更新,不存在则插入

SQL 查询 - 如果存在则更新,否则插入

检查行是不是已存在如果不存在则插入行否则显示消息