自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PHP + MySQL事務(wù)操作的實際應(yīng)用代碼演示

數(shù)據(jù)庫 MySQL
此文章主要向大家描述的是PHP + MySQL事務(wù)操作的實際應(yīng)用代碼演示,如果你對PHP + MySQL事務(wù)操作的實際應(yīng)用代碼感興趣的話,以下的文章就可以幫助你了。

以下的文章主要向大家描述的是PHP + MySQL事務(wù)操作的實際應(yīng)用代碼演示,我們大家都知道在實際LAMP的應(yīng)用中,一般PHP所使用的是AdoDB來對MySQL數(shù)據(jù)庫進行操作,下面給出AdoDB相應(yīng)的代碼方便大家查閱:

 

  1. <?php   
  2. // ...   
  3. $adodb->startTrans();   

 

實際,getOne所調(diào)用的查詢也可以直接放到rowLock來進行,這里只是為了演示效果能更明顯些。

 

  1. $adodb->rowLock('book', 'book_id = 123');   
  2. $bookNumber = $adodb->getOne("SELECT book_number FROM book WHERE book_id = 123");   
  3. $adodb->execute("UPDATE book SET book_numberbook_number = book_number - 1 WHERE book_id = 123");   
  4. $adodb->completeTrans();   
  5. // ...   
  6. ?> 

 

其中,rowLock的方法就是調(diào)用的FOR UPDATE來實現(xiàn)的行鎖,你可能會想把“FOR UPDATE”直接寫到$adodb->getOne()調(diào)用的那條SQL語句里面去實現(xiàn)行鎖的功能,不錯,那樣確實可以,但是并不是所有的數(shù)據(jù)庫都使用“FOR UPDATE”語法來實現(xiàn)行鎖功能,比如Sybase使用“HOLDLOCK”的語法來實現(xiàn)行鎖功能,所以為了你的數(shù)據(jù)庫抽象層保持可移植性,我還是勸你用rowLock來實現(xiàn)行鎖功能,至于可移植性就交給AdoDB好了,嗯,有點扯遠了,今兒就說到這里了。

上述的相關(guān)內(nèi)容就是對PHP + MySQL事務(wù)操作的代碼演示的描述,希望會給你帶來一些幫助在此方面。

附:

AdoDB中存在一個setTransactionMode()方法,能夠設(shè)置事務(wù)的隔離級別,如下:

 

  1. SetTransactionMode allows you to pass in the transaction mode to use for all 
    subsequent transactions for that connection session. Note: if you have persistent 
    connections and using mysql or mssql, you might have to explicitly reset your 
    transaction mode at the beginning of each page request. This is only supported in postgresql, 
    mssql, mysql with InnoDB and oci8 currently. For example:  
  2. $db->SetTransactionMode("SERIALIZABLE");  
  3. $db->BeginTrans();  
  4. $db->Execute(...); $db->Execute(...);  
  5. $db->CommiTrans();  
  6. $db->SetTransactionMode(""); // restore to default  
  7. $db->StartTrans();  
  8. $db->Execute(...); $db->Execute(...);  
  9. $db->CompleteTrans();  
  10. Supported values to pass in:  
  11. * READ UNCOMMITTED (allows dirty reads, but fastest)  
  12. * READ COMMITTED (default postgres, mssql and oci8)  
  13. * REPEATABLE READ (default mysql)  
  14. * SERIALIZABLE (slowest and most restrictive)   

 

以上的相關(guān)內(nèi)容就是對PHP + MySQL事務(wù)操作的代碼演示的介紹,望你能有所收獲。

【編輯推薦】

  1. MySQL命令導(dǎo)數(shù)據(jù)的實際操作與代碼
  2. MySQL基本操作,新手入門寶典
  3. MySQL常用命令大匯總
  4. MySQL數(shù)據(jù)庫安全設(shè)置的操作流程
  5. 實現(xiàn)MySQL 用戶密碼的設(shè)置步驟
責(zé)任編輯:佚名 來源: cnblogs
相關(guān)推薦

2010-05-18 17:24:44

MySQL修改表字段

2010-06-02 13:22:18

MySQL定時任務(wù)

2010-06-12 09:53:19

2010-06-10 13:04:31

2010-05-28 10:34:39

連接MySQL數(shù)據(jù)庫

2010-06-07 16:22:55

MySQL數(shù)據(jù)庫

2010-05-27 10:35:09

查詢MySQL數(shù)據(jù)

2009-12-02 19:51:54

PHP Switch語

2010-06-02 13:33:19

MySQL 查詢緩存

2010-03-05 13:48:24

Python for

2010-06-01 10:47:21

連接MySQL數(shù)據(jù)庫

2010-06-02 17:46:54

MySQL 查詢緩存

2010-05-18 16:29:44

MySQL修改表

2010-05-28 18:16:43

MySQL 操作日志

2010-05-27 17:35:36

MYSQL DELET

2009-11-16 10:40:02

PHP上傳文件代碼

2010-05-18 09:31:05

MySQL修改表

2010-05-17 09:25:34

MySql 編碼設(shè)置

2009-11-26 09:06:35

PHP遞歸數(shù)組

2009-11-16 10:49:43

PHP上傳文件代碼
點贊
收藏

51CTO技術(shù)棧公眾號