2010-08-16 48 views
2

使用pdo begintransaction有什麼好處,這個和mysql db lock是一樣的嗎?PDO begintransaction vs MySQL db lock

我有一個表與URL和狀態列,每當我的應用程序加載10個URL我需要更新狀態列加載。這個應用程序將被幾個用戶同時訪問,我將如何阻止用戶B加載用戶A加載的同一個URL,並且在更新狀態列之前。

請任何人都可以幫助我。

回答

1

事務和表鎖做不同的事情。在你的情況,可能是最簡單的方式來完成你想要的是:

  • 鎖定表寫
  • 選擇10個網址,其中狀態=新
  • 設置的10個網址是狀態=處理
  • 解鎖表格
  • 對於每個URL,過程和設置狀態=完成
1

如果PDO :: rollback發生錯誤,PDO :: beginTransaction將使滾動更改成爲可能,而鎖定表不會。