MYSQL在更新时自动将列实体增加1?

Dav*_*801 3 mysql sql-update

我有一个表:ID,名称,计数,varchar(255)

现在,我想要的是每次更新表中的行时增加"计数".

当然,简单的方法是首先读取,获取值,在php中增加1,然后使用新值更新.但!

有没有更快的方法呢?mysql中有一个系统可以自动执行++吗?像自动增量,但对于一个单独的实体?

Sil*_*ght 13

我看到两个选择:

1.

只需将此逻辑添加到每个更新查询

UPDATE `table` SET
   `data` = 'new_data',
   `update_counter` = `update_counter` + 1
WHERE `id` = 123
Run Code Online (Sandbox Code Playgroud)

2.

创建一个自动执行工作的触发器:

CREATE TRIGGER trigger_name
AFTER UPDATE
ON `table`
FOR EACH ROW
    BEGIN
        UPDATE `table`
        SET `update_counter` = `update_counter` + 1
        WHERE `id` = NEW.id
    END
Run Code Online (Sandbox Code Playgroud)