gpt4 book ai didi

MySQL 在插入和更新时自动递增

转载 作者:行者123 更新时间:2023-12-01 00:37:06 32 4
gpt4 key购买 nike

我有一个 MySQL 数据库,每次执行插入或更新时,我都需要将列自动递增 1。如果我必须只在插入期间增加列,我可以使用内置的自动增量选项(通常用于主键)。如何插入和更新?

编辑

抱歉,我发布了错误的问题,我真正需要的是每次插入或更新时将计数器加 1,计数器的当前值必须存储在正在创建或更新的行中。计数器从 1 开始,永远不会回来,它只是“永远”增加(BIGINT)。将此计数器视为一个 lastupdate 时间戳,但我没有使用真正的 unix 时间戳,而是使用了一个不断增加的整数(单调递增的值)。

附言我正在许多本地 SQLite 数据库和一个主 MySQL 数据库之间实现一种同步机制,因此必须在两个 dbms 上实现该行为。

当然可以将计数器的当前状态存储在单独的表中

最佳答案

只需使用 triggers .

像这样:

CREATE TRIGGER trgIU_triggertestTable_UpdateColumnCountWhenColumnB
ON dbo.triggertestTable
AFTER INSERT,UPDATE
AS
BEGIN ...

或者你可以这样做:

INSERT INTO TableA (firstName, lastName, logins) VALUES ('SomeName', 'SomeLastName', 1)
ON DUPLICATE KEY UPDATE count = count + 1;

关于MySQL 在插入和更新时自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46170129/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com