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

时间:2013-03-17 17:24:28

标签: php sql sqlite pdo locking

例如,如果我有这个算法:

  1. 连接数据库
  2. 尝试从数据库中选择一些数据
  3. 如果数据不存在   
          
    1. 从某处获取数据
    2.     
    3. 将数据插入数据库
    4.   
    5. 关闭数据库连接
    6. 对数据执行某些操作
    7. 我们已经完成了
    8. 然后,如果php脚本启动并且数据库没有数据,可能在生成它时(步骤3.1),另一个用户再次启动脚本。然后,我认为这样的想法更好:

      1. 连接数据库
      2. 尝试从数据库中选择一些数据(如果条目被锁定,脚本会一直等到它被解锁)
      3. 如果数据不存在   
              
        1. 锁定数据库条目
        2.     
        3. 从某处获取数据
        4.     
        5. 将数据插入数据库
        6.     
        7. 解锁数据库条目
        8.   
        9. 关闭数据库连接
        10. 对数据执行某些操作
        11. 我们已经完成了
        12. 我该怎么做锁定? (我是SQL的新手,也许有一个更合适的名字)

1 个答案:

答案 0 :(得分:1)

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

(阅读ACID properties。)