首页 > 解决方案 > MySQLi PDO - 从 0 开始时递增整数会给出不正确的结果

问题描述

我有一个 MySQLi 表,其中包含一个viewstypeint(11)和 default value的字段0。使用以下语句更新时,值不正确。但是,这只发生在初始值为0并且在更新后更改为 时2。然后2更新3为正确的。

这里发生了什么?

$statement = $pdo->prepare("UPDATE table SET views = views + 1 WHERE id=?");
$statement->execute([$id]);

这是一个简单的方案:

| views |                   | views |                   | views |
---------  -> update +1 ->  ---------  -> update +1 ->  ---------
|   0   |     ERROR HERE    |   2   |                   |   3   |

标签: phppdo

解决方案


推荐阅读