国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - PHP操作MySQL事務(wù)實(shí)例

PHP操作MySQL事務(wù)實(shí)例

2020-08-05 12:50PHP教程網(wǎng) PHP教程

這篇文章主要介紹了PHP操作MySQL事務(wù)的方法,以實(shí)例的形式較為詳細(xì)的分析了ACID特征,具有不錯的參考借鑒價值,需要的朋友可以參考下

本文實(shí)例講述了PHP操作MySQL事務(wù)的方法,分享給大家供大家參考。具體方法如下:

一般來說,事務(wù)都應(yīng)該具備ACID特征。所謂ACID是Atomic(原子性),Consistent(一致性),Isolated(隔離性),Durable(持續(xù)性)四個詞的首字母所寫,下面以“銀行轉(zhuǎn)帳”為例來分別說明一下它們的含義:

① 原子性:組成事務(wù)處理的語句形成了一個邏輯單元,不能只執(zhí)行其中的一部分。換句話說,事務(wù)是不可分割的最小單元。比如:銀行轉(zhuǎn)帳過程中,必須同時從一個帳戶減去轉(zhuǎn)帳金額,并加到另一個帳戶中,只改變一個帳戶是不合理的。
② 一致性:在事務(wù)處理執(zhí)行前后,數(shù)據(jù)庫是一致的。也就是說,事務(wù)應(yīng)該正確的轉(zhuǎn)換系統(tǒng)狀態(tài)。比如:銀行轉(zhuǎn)帳過程中,要么轉(zhuǎn)帳金額從一個帳戶轉(zhuǎn)入另一個帳戶,要么兩個帳戶都不變,沒有其他的情況。
③ 隔離性:一個事務(wù)處理對另一個事務(wù)處理沒有影響。就是說任何事務(wù)都不可能看到一個處在不完整狀態(tài)下的事務(wù)。比如說,銀行轉(zhuǎn)帳過程中,在轉(zhuǎn)帳事務(wù)沒有提交之前,另一個轉(zhuǎn)帳事務(wù)只能處于等待狀態(tài)。
④ 持續(xù)性:事務(wù)處理的效果能夠被永久保存下來。反過來說,事務(wù)應(yīng)當(dāng)能夠承受所有的失敗,包括服務(wù)器、進(jìn)程、通信以及媒體失敗等等。比如:銀行轉(zhuǎn)帳過程中,轉(zhuǎn)帳后帳戶的狀態(tài)要能被保存下來。

在PHP中,mysqli 已經(jīng)很好的封裝了mysql事務(wù)的相關(guān)操作。如下示例:

復(fù)制代碼 代碼如下:
$sql1 = "update User set ScoreCount = ScoreCount +10 where ID= '123456'";
$sql2 = "update ScoreDetail  set FScore = 300 where ID= '123456'";
$sql3 = "insert into  ScoreDetail ID,Score) values ('123456',60)";
$mysqli = new mysqli('localhost','root','','DB_Lib2Test');
$mysqli->autocommit(false);//開始事物
$mysqli->query($sql1);
$mysqli->query($sql2);
if(!$mysqli->errno){
  $mysqli->commit();
  echo 'ok';
}else{
 echo 'err';
  $mysqli->rollback();
}


在這里,我們再使用 php mysql 系列函數(shù)執(zhí)行事務(wù)。

復(fù)制代碼 代碼如下:
$sql1 = "update User set ScoreCount = ScoreCount +10 where ID= '123456'";
$sql2 = "update ScoreDetail  set FScore = 300 where ID= '123456'";
$sql3 = "insert into  ScoreDetail ID,Score) values ('123456',60)";
$conn = mysql_connect('localhost','root','');
mysql_select_db('DB_Lib2Test');
mysql_query('start transaction');
//mysql_query('SET autocommit=0');
mysql_query($sql1);
mysql_query($sql2);
if(mysql_errno ()){
    mysql_query('rollback');
    echo 'err';
}else{
    mysql_query('commit');
    echo 'ok';
}
// mysql_query('SET autocommit=1');
// mysql_query($sql3);

 

在這里要注意:

MyISAM:不支持事務(wù),用于只讀程序提高性能
InnoDB:支持ACID事務(wù)、行級鎖、并發(fā)
Berkeley DB:支持事務(wù)

希望本文所述對大家的PHP+MySQL數(shù)據(jù)庫程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 91香蕉 | 黄色网页在线观看 | 亚洲精品福利在线 | 精品天堂 | 欧美中文字幕 | 亚洲精品视频一区 | 精品麻豆剧传媒av国产九九九 | 免费成人在线视频网站 | 看国产到性色 | 99青青草| www.99精品 | 精品国产一区二区三区在线观看 | 久久大陆 | 69久久| 91精品久久久久久久久久 | 麻豆产精国品免费 | 色婷婷综合在线 | 午夜精品一区二区三区在线视频 | 色花av| 亚洲成人av在线 | 中文字幕在线一区 | 免费视频一区二区 | 久久69精品久久久久久久电影好 | 亚洲天堂久久 | 欧美a在线 | 亚洲精彩视频在线 | 亚洲伦乱视频 | 国产精品免费视频观看 | 成人高清视频在线 | 四虎最新网站 | 久久久久久国产精品 | 在线观看的av | ...99久久国产成人免费精品 | 日本激情网 | 欧美日韩亚洲另类 | 99精品欧美一区二区三区综合在线 | 久久香蕉国产视频 | 日本一区二区三区四区 | 久热久热 | 亚洲日本网站 | 日韩av中文字幕在线播放 |