我正在尝试使用Python提供的SQLite来实现一个简单的计数器.我正在使用CGI编写简单的动态网页.这是我能想到实现计数器的唯一简单方法.问题是我需要先读取计数器值然后更新它.但理想情况下,每个用户都应该读取一个唯一值,并且如果两个用户同时读取,则两个用户可以读取相同的计数器值.有一种简单的方法可以使读/写操作成为原子吗?我不熟悉SQL,所以请给出具体的陈述.提前致谢.
我使用一个列和一行来存储计数器.
您可以尝试这种SQL语句流:
BEGIN EXCLUSIVE TRANSACTION;
// update counter here
// retrieve new value for user
COMMIT TRANSACTION;
Run Code Online (Sandbox Code Playgroud)
在三分法中执行更新时,只能通过连接执行更改.在这种情况下,我们使用EXCLUSIVE事务,它为其他客户端锁定数据库,直到它将提交事务.
| 归档时间: |
|
| 查看次数: |
2326 次 |
| 最近记录: |