新聞中心
定義MySQL事務(wù)應(yīng)該是每一個MySQL數(shù)據(jù)庫用戶都應(yīng)該會的,下面就將為您講解如何定義MySQL事務(wù),希望對您有所幫助。

成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)、豐順網(wǎng)絡(luò)推廣、小程序設(shè)計、豐順網(wǎng)絡(luò)營銷、豐順企業(yè)策劃、豐順品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供豐順建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
MySQL默認(rèn)的行為是在每條SQL語句執(zhí)行后執(zhí)行一個COMMIT語句,從而有效的將每條語句獨立為一個事務(wù)。
在復(fù)雜的應(yīng)用場景下這種方式就不能滿足需求了。
為了打開事務(wù),允許在COMMIT和ROLLBACK之前多條語句被執(zhí)行,我們需要做以下兩步:
1, 設(shè)置MySQL的autocommit屬性為0,默認(rèn)為1
2,使用START TRANSACTION語句顯式的打開一個事務(wù)
如果已經(jīng)打開一個事務(wù),則SET autocommit=0不會起作用,因為START TRANSACTION會隱式的提交session中所有當(dāng)前的更改,結(jié)束已有的事務(wù),并打開一個新的事務(wù)。
使用SET AUTOCOMMIT語句的存儲過程例子:
- CREATE PROCEDURE tfer_funds
- (from_account int, to_account int, tfer_amount numeric(10,2))
- BEGIN
- SET autocommit=0;
- UPDATE account_balance SET balancebalance=balance-tfer_amount WHERE account_id=from_account;
- UPDATE account_balance SET balancebalance=balance+tfer_amount WHERE account_id=to_account;
- COMMIT;
- END;
以上定義MySQL事務(wù)的方法介紹。
【編輯推薦】
mysql存儲過程問題解答
創(chuàng)建MySQL存儲過程示例
mysql存儲過程的調(diào)用方法
MYSQL IFNULL函數(shù)的使用
帶您了解MySQL GROUP_CONCAT函數(shù)
當(dāng)前名稱:定義MySQL事務(wù)的例子
網(wǎng)頁網(wǎng)址:http://m.fisionsoft.com.cn/article/dpddijg.html


咨詢
建站咨詢
