程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 定義MySQL事務的例子

定義MySQL事務的例子

編輯:MySQL綜合教程

定義MySQL事務應該是每一個MySQL數據庫用戶都應該會的,下面就將為您講解如何定義MySQL事務,希望對您有所幫助。

MySQL默認的行為是在每條SQL語句執行後執行一個COMMIT語句,從而有效的將每條語句獨立為一個事務。
在復雜的應用場景下這種方式就不能滿足需求了。
為了打開事務,允許在COMMIT和ROLLBACK之前多條語句被執行,我們需要做以下兩步:
1, 設置MySQL的autocommit屬性為0,默認為1
2,使用START TRANSACTION語句顯式的打開一個事務

如果已經打開一個事務,則SET autocommit=0不會起作用,因為START TRANSACTION會隱式的提交session中所有當前的更改,結束已有的事務,並打開一個新的事務。

使用SET AUTOCOMMIT語句的存儲過程例子:

  1. CREATE PROCEDURE tfer_funds      
  2.      (from_account int, to_account int, tfer_amount numeric(10,2))      
  3. BEGIN      
  4.      SET autocommit=0;      
  5.      
  6.      UPDATE account_balance SET balancebalance=balance-tfer_amount WHERE account_id=from_account;      
  7.      
  8.      UPDATE account_balance SET balancebalance=balance+tfer_amount WHERE account_id=to_account;      
  9.      
  10.      COMMIT;      
  11. END;    

以上定義MySQL事務的方法介紹。 

mysql存儲過程問題解答

創建MySQL存儲過程示例

mysql存儲過程的調用方法

MYSQL IFNULL函數的使用

帶您了解MySQL GROUP_CONCAT函數

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved