php - MySQLi PDO - 从 0 开始时递增整数会给出不正确的结果
问题描述
我有一个 MySQLi 表,其中包含一个views
typeint(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 |
解决方案
推荐阅读
- python - 是否可以在其中一列是列表的数据框中使用 h2o 决策树?
- python - 获取 JSONDecodeError:期望值:使用 Python + Zipline + Docker + Jupyter 的第 1 行第 1 列(字符 0)
- excel - VBA - 在最后一个工作日复制和粘贴
- python-3.x - 如何将包含我的数据的字节转换为字符串?
- javascript - 将 JQuery 转换为纯 Javascript:将事件侦听器添加到动态创建的元素
- java - spring boot 自定义验证器运行两次
- php - 如何解决:无法与主机 smtp.gmail.com 建立连接 [连接超时 #110] PHP 中的错误
- jquery - 将函数应用于数组中的所有项目?
- php - 在引用生成器中使用“yield from”的任何替代方法?
- c - 使用 c 中的 mpi 变量以外的其他方法解决 mpi 超额订阅