我有一个表,有一个ID和一个occurrences列.我想创建一个到db的事务,其中

if ID exists in DB:
    occurrences++
else:
    insert new row where occurrences = 1

我看到有可能做一个IF-THEN语句,所以我try 这样做:

IF ID = 123 IS NOT NULL THEN
    UPDATE occurrences = occurrences +1
ELSE
    INSERT INTO entity_table(123, 1)
END IF;

推荐答案

INSERT INTO entity_table SET id=123, occurrences = 1
ON DUPLICATE KEY UPDATE occurrences = occurrences + 1

Mysql相关问答推荐

MariaDB字段+1

了解MySQL_stmt_BIND_NAMED_Param()-MySQL C API

将上传文件的存储路径放在一张表中的缺点是什么?

如何获取每日登录用户数?

如何在Pandas 中使用 to_sql

为生日创建 MySQL 索引

如何在 mysql 中获取 Day Wise 的平均值?

Next-key lock explication - 范围的主键

MySQL - 单词边界的正则表达式,不包括下划线(连接标点符号)

在 where 子句中左连接多个值

Golang Gorm:相同的查询构造不同,抛出不同的结果

MySQL - 考虑到所有前几天,每天计算唯一用户

是否可以在一个查询中将字符串附加到许多匹配的行

我在查询中没有得到正确的结果

如何在sql中挑出某些名称

如何在不违反唯一约束的情况下交换 MySQL 中两行的值?

如何在 MySQL 中 Select 字段具有最小值的数据?

何时在 mysql 中使用 TEXT 而不是 VARCHAR

在mysql中增量更新值

MySQL行格式:固定和动态之间的区别?