php - 如何使用PDO锁定sqlite数据库中的条目?

标签 php sql sqlite pdo locking

例如,如果我有此算法:


连接到数据库
尝试从数据库中选择一些数据
如果数据不存在

从某处获取数据
将数据插入数据库


关闭数据库连接
处理数据
我们完成了


然后,如果php脚本启动并且数据库没有数据,则可能是在生成数据时(步骤3.1),另一个用户再次启动了脚本。然后,我认为这样更好:


连接到数据库
尝试从数据库中选择一些数据(如果条目被锁定,脚本将等待直到其被解锁)
如果数据不存在

锁定数据库条目
从某处获取数据
将数据插入数据库
解锁数据库条目


关闭数据库连接
处理数据
我们完成了


我该怎么做? (我是SQL的新手,也许有一个更合适的名称)

最佳答案

在同一transaction中进行读取和可能的写入,然后数据库将确保两个用户不会互相干扰。

(在ACID properties上阅读。)

关于php - 如何使用PDO锁定sqlite数据库中的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15463787/

相关文章:

sql - 仅选择包含值的列

sql - 在 SYS_REFCURSOR 中执行动态 sql 语句

mysql - 如何从两个表中获取针对 ID (FK) 的多个图像

sql - 为什么SQLite中的select count(*)和select *查询计划之间有区别?

php - 在 SESSION 中存储信用卡号 - 解决方法?

php - Laravel db 迁移 - renameColumn 错误 - 请求了未知的数据库类型枚举

php - 当内容放入 div 时,div 未对齐

PHP preg_replace 在最后一个下划线之后出现任何文本

sqlite - fatal error : sqlite3. h:没有那个文件或目录

java - Java 应用程序中的哈希密码