91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是MySQL的事務處理

發布時間:2020-05-28 10:07:59 來源:PHP中文網 閱讀:211 作者:三月 欄目:MySQL數據庫

本文主要給大家簡單講講什么是MySQL的事務處理,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望什么是MySQL的事務處理這篇文章可以給大家帶來一些實際幫助。                                                             

MySQL的事務處理

步驟:

1.開啟事務 start transaction

當我們開啟一個事務的時候,我們對sql的操作都發生在內存中,但是沒有真正的反饋到數據庫磁盤的文件中!

2.回滾 rollback

回滾,就是恢復到事務開啟之前的最原始的狀態!

注意:回滾操作會自動的關閉一個事務,如果想再次執行事務,需要重新開啟事務!

3.提交 commit

事務的基本原理

普通的執行,之所以是立即執行并生效,因為默認的,MySQL對sql語句的執行是自動提交的!所以,開啟一個事務的本質,就是關閉了以前的自動提交的功能,而是由用戶手動提交(利用commit語句)!【相關視頻教程推薦:MySQL教程】

總結事務的步驟:

1,  開啟事務

2,  如果執行成功,就提交commit

3,  如果有任何一條sql語句執行失敗,則回滾rollback!

事務處理的示例:

事務處理最典型的就是借還錢,下面以張三向李四還1000元為例:

首先查看數據庫中各自的錢數

什么是MySQL的事務處理

下面是處理還錢事務的代碼:

<?php 

/**
* MySQL實現事務操作
*/

echo "<meta charset=utf-8>";

// 1 連接數據庫
$link = @mysql_connect('localhost','root','') or die('連接數據庫失敗');
mysql_select_db('test',$link);
mysql_query('set names utf8');

// 2  開啟事務
mysql_query("start transaction");
//設置一個變量,用來判斷所有sql語句是否成功
$flag = true;

// 2.1執行事務中的一組sql語句 
   
// 李四的money+1000
$sql = "update pdo set mone=money+1000 where name='李四'";
$res = mysql_query($sql);
if (!$res) {
    //若sql語句執行失敗,把$falg設置為false
    $flag = false;
}

//張三的money-1000
$sql = "update pdo set money=money-1000 where name='張三'";
$res = mysql_query($sql);
if (!$res) {
    //若sql語句執行失敗,把$falg設置為false
    $flag = false;
}

// 2.2 判斷事務是否執行成功
if ($flag) {
    //所有sql語句執行成功,把sql語句提交
    mysql_query('commit');
    echo "還錢成功!";
}else{
    // 如其中一條執行失敗,則回滾到事務開啟之前的狀態
    mysql_query('rollback');
    echo "還錢失敗!";
}

結果:

什么是MySQL的事務處理

什么是MySQL的事務處理

下面,我們故意把其中一個字段寫錯,看看事務是否正常處理,數據庫中的錢數是否有變化!

// 李四的money+1000
$sql = "update pdo set mone=money+1000 where name='李四'";  //把moeny字段錯寫成mone

結果:

什么是MySQL的事務處理

什么是MySQL的事務處理

結果是還錢失敗,并且數據庫中各自的錢數沒有變化,說明當某一條語句未執行成功時,事物不會提交,而會回滾,把數據恢復到開始事務之前的原始狀態,這也是使用事務的作用,即只有當事務中所有sql語句全部執行成功,事務才會提交,否則會回滾!

什么是MySQL的事務處理就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南川市| 江华| 天峨县| 桐梓县| 胶南市| 巴青县| 尼木县| 眉山市| 阳高县| 太康县| 益阳市| 嘉荫县| 连云港市| 灵寿县| 大同县| 凌源市| 门头沟区| 泽普县| 翁源县| 灵山县| 东城区| 当阳市| 张掖市| 新建县| 德安县| 宣恩县| 胶南市| 黎城县| 宁武县| 锦屏县| 得荣县| 五河县| 朝阳区| 双流县| 鄂伦春自治旗| 五台县| 当雄县| 富裕县| 屯门区| 无棣县| 皮山县|