MariaDB INSERT -如何在重复项上增加计数器?

s4chpxco  于 2023-04-30  发布在  其他
关注(0)|答案(2)|浏览(92)

我正在将事件日志数据写入MariaDB数据库。主键包括到一秒粒度的时间。我有时会收到一连串相同的输入数据。这违反了密钥,当前被忽略。
我想在表中添加一个计数器字段,这样,如果相同的数据在同一秒内到达,计数器将显示收到了多少相同的项目。
我想要一个相当于以下编造的语法

INSERT INTO T (a, b, c, counter) VALUES (?, ?, ?, 1)
ON DUPLICATE KEY UPDATE T.counter = 1+T.counter;

我可以使用存储过程来实现这一点,但不使用存储过程也行吗?
我已经花了一个多小时寻找答案,但我相信我的关键字太接近各种常见的问题,涉及自动递增序列字段。

b4qexyjb

b4qexyjb1#

你的“虚构”语法完全按原样工作。

h7wcgrx3

h7wcgrx32#

试试这个

INSERT INTO T (a, b, c, counter)
VALUES (?, ?, ?, 1)
ON DUPLICATE KEY UPDATE counter = counter + VALUES(counter);

相关问题